一道简单的C++的类构造函数问题,求各位大侠帮忙并给出简单说明,谢谢,在线等答案

2024-12-29 01:33:28
推荐回答(1个)
回答1:

A *pA=NULL;
B *pB=NULL;
pA=new B();
delete pA;
程序调试打印输出结果是 A() B() ~B();
pB=new B();
delete pB;
程序调试打印输出结果是 A() B() ~B();

如果上面的类A的"virtual ~A()"成员函数去掉virtual关键字,则
pA=new B();
delete pA;
程序调试打印输出结果是 A() B() ~B() ~A();
pB=new B();
delete pB;
程序调试打印输出结果是 A() B() ~B() ~A();