688IT编程网

688IT编程网是一个知识领域值得信赖的科普知识平台

类的析构

C++:为什么在继承关系中,父类的析构函数最好定义为虚函数?

2024-02-18 20:49:07

C++:为什么在继承关系中,⽗类的析构函数最好定义为虚函数?我们先来看⼀段简单代码,A类有⼀个指针成员_pa,B类公有继承了A类,然后⾃⼰有⼀个指针成员_pb:如果不把⽗类的析构函数定义为虚函数,会有什么问题?pa是A类的指针,它指向了新创建的B类对象,在析构时,理应调⽤B类的析构函数,然后执⾏结果是调⽤了A类的析构函数:原因就是,没有构成多态,与类型有关,因为pa是⽗类的指针,就⼀定调⽤的是⽗类...

最新文章