详解 C++ virtual 析构函数
来源:互联网 发布:ecshop源码视频教程 编辑:程序博客网 时间:2024/06/16 18:46
from: http://blog.csdn.net/lwbeyond/article/details/7497294
第一种情况:基类指针指向派生类对象。
- #include <iostream>
- using namespace std;
- class Base{
- public:
- ~Base() {cout<<"~B"<<endl;}
- };
- class Derived:public Base{
- public:
- ~Derived() {cout<<"~D"<<endl;}
- };
- int main (){
- Base *b = new Derived; //注意这里
- delete b;
- }
第二种情况:派生类指针指向派生类对象。
- #include <iostream>
- using namespace std;
- class Base{
- public:
- ~Base() {cout<<"~B"<<endl;}
- };
- class Derived:public Base{
- public:
- ~Derived() {cout<<"~D"<<endl;}
- };
- int main (){
- Derived *d = new Derived; //注意这里
- delete d;
- }
这次基类和派生类都能被析构掉。
第三种情况:基类指针指向派生类对象,但析构函数是virtual 的。
- class Base{
- public:
- virtual ~Base(){cout<<"~B"<<endl;};
- }
- class Derived:public Base{
- public:
- virtual ~Derived(){cout<<"~D"<<endl;};
- }
- void main (){
- Base *b=new Derived();
- delete b;
- }
0 0
- [c/c++]析构函数virtual相关
- 详解 C++ virtual 析构函数
- 详解 C++ virtual 析构函数
- 详解 C++ virtual 析构函数
- C#virtual详解,virtual和构造函数的问题
- virtual 析构函数
- Virtual 析构函数
- virtual 析构函数
- virtual+析构函数
- virtual析构函数
- virtual析构函数
- virtual析构函数
- C++Virtual详解
- 【C++】析构函数和virtual函数引发的隐晦问题 ——《Effective C++》
- C++ virtual 析构函数
- C++ virtual 析构函数
- C++ virtual 析构函数
- C++ virtual 析构函数
- 关于BOX2D的那些事儿(3)
- 从今天开始写博客
- 初识C#设计模式
- git使用
- android,sim卡,TelephonyManager,手机SIM卡状态的获取
- 详解 C++ virtual 析构函数
- 协方差的意义
- 关于数组排序
- SQLite3的锁机制和并发控制详解
- flashbuilder4.5 作为eclipse插件
- 学习IOS开发的第14天
- 阿里巴巴电话面试
- Fragment窗口导航
- vector 删除制定的一个元素