
测试环境:Win7 + VC++6.0
问题:如图,基类析构函数**不是**虚函数,但是析构派生类时,基类的析构函数也自动执行了,不是只有是虚析构函数才会自动析构基类么??
记得是虚的才是只执行子类不执行父类的吧。
虚的才是只执行子类不执行父类
虚基类的非虚基类优先于非虚基类的非虚基类
子类析构,都会调用父类的。父类虚析构是为了多态的时候,能够正确调用子类的析构函数。
换一个编译器试试!!
在初始化子类对象的时候,一定会调用父类的构造函数,虽然没有自定义构造,但会调用默认的构造函数,所以初始化时,先构造父类,后构造子类
析构时,先析构子类,后析构父类