何时使用虚函数?
class Test { public: virtual ~Test() = 0; }// 虚析构函数的定义 virtual ~Test() { } 通常纯虚函数不需要提供定义,但是这边有个例外,纯虚析构函数必需给出实现体才能通过编译链接。析构函数析构函数析构的次序是最深层的派生类的析构函数先被调用,然后依次调用每一层的析构函数。所以编译器会在析构Test类的派生类的析构函数中创建一个对~Test()的调用动作,所以必须提供这个析构函数的定义。发布时间: 2012-09-23 10:28:11 作者: rapoo
何时使用虚函数?
class Test { public: virtual ~Test() = 0; }// 虚析构函数的定义 virtual ~Test() { } 通常纯虚函数不需要提供定义,但是这边有个例外,纯虚析构函数必需给出实现体才能通过编译链接。析构函数析构函数析构的次序是最深层的派生类的析构函数先被调用,然后依次调用每一层的析构函数。所以编译器会在析构Test类的派生类的析构函数中创建一个对~Test()的调用动作,所以必须提供这个析构函数的定义。