写在前面用自己的话分析清楚~智能指针是如何使用的?强指针是如何实现?弱指针如何转化为强指针?智能指针的使用智能指针的使用必须满足如下条件:这个类需要继承自RefBase为什么需要虚析构函数?虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。虚函数的出现是为了...
分类:
其他好文 时间:
2014-07-22 22:46:36
阅读次数:
446
为了访问公有派生类的特定成员,可以通过讲基类指针显示转换为派生类指针。也可以将基类的非静态成员函数定义为虚函数(在函数前加上virtual) 1 #include 2 using namespace std; 3 4 class base{ 5 public: 6 /*virtual*/ ...
分类:
其他好文 时间:
2014-07-17 18:04:41
阅读次数:
300
在实现多态时候,基类的析构函数应该写成virtual。在用基类申明实例化的子类对象,在delete时候,如果基类不是virtual的析构函数则不能调用进子类的析构函数class Base{public: Base(); virtual ~Base();public: char *m...
分类:
编程语言 时间:
2014-07-09 00:34:22
阅读次数:
201
三.虚析构#include using namespace std;class Base{public: virtual ~Base(){ cout<<"Base destructor\n"; }};class Derived:public Base{public: Derived(){...
分类:
其他好文 时间:
2014-06-21 08:53:46
阅读次数:
182
1class ITest 2{ 3public: 4virtual void Test() = 0;
5 6}; 7 8class CTest : public ITest 9{ 10 public: 11CTest(){
printf("constructor.n"); }; 12~CTest()...
分类:
其他好文 时间:
2014-06-03 11:38:25
阅读次数:
314
虚函数使用的时机为什么虚函数不总是适用? 1. 虚函数有事会带来很大的消耗; 2.
虚函数不总是提供所需的行为; 3. 当我们不考虑继承当前类时,不必使用虚函数。必须使用虚函数的情况: 1.
当你想删除一个表面上指向基类对象,实际却是指向派生类对象的指针,就需要虚析构函数。
分类:
编程语言 时间:
2014-05-05 09:36:24
阅读次数:
487