虚析构函数

一般标记了virtual的关键字就是虚函数,虚函数就代表这个函数之后要进行重写;

虚函数增加virtual之后是将会将子类的函数扩展添加进去,而不是重写。

 

class Base {
public:
	Base() { std::cout << " Base Constructor---\n"; }
	virtual ~Base() {
		std::cout << "Base Destructor---\n";
	}
};
class Derive :public Base {
public:
	int* m_array;
public:
	Derive() {
		m_array = new int[5];
		std::cout << "Derive Constructor---\n";
	}
	~Derive() {
		delete m_array;
		std::cout << "Derive Destructor---\n";
	}
};
int main() {
	Base* derive = new Derive();
	delete derive;
}

 

posted @ 2023-10-08 20:03  iu本u  阅读(25)  评论(0)    收藏  举报