为何virtual析构函数不能是protected?
如下例:
{
public:
virtual foo() = 0;
protected:
virtual ~Base(){};
};
class Derived
{
public:
Derived(string str) : _str(str){}
virtual foo(){ //.. }
protected:
string _str;
}
这时,如果有
Base *p = new Derived("some string");
//...
delete p;
这时,不能调用析构函数
为何virtual析构函数不能是protected?相关推荐
- 条款七 为多态基类声明virtual析构函数
1.如果基类中的成员函数是virtual类型的,其继承类中相应的函数也是virtual类型,并且基类对象的引用指向继承类对象时, 基类就可以调用继承类函数,否则调用的是基类函数 class base ...
- Effective C++ .07 virtual析构函数的提供
主要讲了, 1. virtual析构函数的作用与调用顺序 2. 使用时机,并不是使用了继承就要把基类的析构函数变为虚函数(virtual),只有当用于多态目的时才进行一个virtual析构函数的定义. ...
- C++ virtual 析构函数
copy自:http://zxjgoodboy.blog.sohu.com/61482463.html 在此基础上稍作修改 C++中虚析构函数的作用 我们知道,用C++开发的时候,用来做基类的类的析构 ...
- virtual析构函数(作用)
virtual析构函数的作用? . 大家知道,析构函数是为了在对象不被使用之后释放它的资源,虚函数是为了实现多态.那么把析构函数声明为vitual有什么作用呢?请看下面的代码: 1 #include ...
- 读书笔记_Effective_C++_条款七:为多态基类声明virtual析构函数
严格来说,多态分为编译时多态和运行时多态,编译时多态是函数的重载,而运行时多态则是迟绑定技术,即根据基类指针或引用的实际指向来决定采取何种行动,一般来说,多态特指运行时多态.下面我们来举有关C++多态 ...
- effective C++读书笔记--【条款07:为多态基类声明virtual析构函数】
问题 base class的指针p,指向一个derived class,如果: base class带着一个non-virtual析构函数: derived class对象经由这个base class ...
- virtual析构函数的作用?
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
- Effective C++条款7:为多态基类声明virtual析构函数
要点: 带多态性质的基类或者class中有virtual函数,就应该将析构函数声明为virtual,例如 class TimeKeeper { public:TimeKeeper();~TimeKee ...
- C++将类的构造函数、析构函数声明为private或者protected的用途
如果将构造函数.析构函数声明为private或者protected,表示不能从类的外部正常调用构造和析构函数了. 这种用法的通常使用的场景如下: 1.如果不想让外面的用户直接构造一个类A的对象,而希望 ...
最新文章
- 论文: Generating Software Test Data by Evolution---自己觉得很好的句子----(1)introduction
- 小马哥spring编程核心思想_Spring核心思想理解
- python 追加到字典_扫描器篇(三)之python编写基于字典的网站目录探测脚本
- 产品配件类目税目分类_我国消费税税目种类有哪些?
- ann matlab,人工神经网络ann及其matlab仿真.ppt
- php 利用个人邮箱,利用 Composer 完善自己的 PHP 框架(二)——发送邮件
- 我是一个工资涨不上去的失败程序员
- ios打开html页面关闭当前页面跳转,【已解决】怎么从iOS原生界面跳转回到html页面呢...
- java poi jar包下载_poi.jar下载-poi.jar包 3.8/3.9/3.10 免费版 - 河东下载站
- 面试字节跳动后台开发(实习)
- 计算机用户被锁定 蓝屏,电脑提示文档已被administrator锁定怎么办
- 如何选择正确的Node框架:Express,Koa还是Hapi?
- SAP PS 项目编码配置 OPSJ/OPSK
- 在使用计算机结束时,计算机使用完毕后应将显示器的电源关闭对吗?
- IO系统性能之二:缓存和RAID如何提高磁盘IO性能
- docker安装kong和konga详细说明
- zabbix主动监控和被动监控
- 闭关修炼(八)反射机制
- 英语12个月份的缩写
- Win32汇编(SMU—C嵌入汇编)
热门文章
- java 文件大小,如何在Java中获取文件大小
- 读称题写出执行结果html,C++(II)13-14(2)试题B - 往年试卷
- eclipse经常高占用_高可用系统的设计指南
- C# 自定义sqlserver表值函数
- buck电路_Buck电路的多角度分析
- 中南大学MATLAB变量专题/矩阵的建立1-3/4
- 金融大规模毁灭性武器--高频统计套利
- 微信小程序-跟学笔记
- src refspec main does not match any
- Windows核心编程_远线程方式实现Dll注入