C++------虚析构函数与纯虚析构函数
#include <iostream> #include <string.h> using namespace std; //虚析构与纯虚析构 class Animal { public: virtual void speak() { cout << "动物在说话" << endl; } ~Animal() { cout << "Animal的析构调用" << endl; } }; class Cat :public Animal { public: Cat(const char* name) { this->m_Name = new char[strlen(name) + 1]; strcpy_s(this->m_Name, strlen(name) + 1, name); } void speak() { cout << "小猫也在说话" << endl; } ~Cat() { if (this->m_Name != NULL) { delete[] this->m_Name; this->m_Name = NULL; } cout << "小猫的析构函数" << endl; } char * m_Name; }; void test01() { Animal *cat1 = new Cat("Tom"); cat1->speak(); delete cat1; /