请将如下程序补充完整,使得输出结果为:bbaa #include <iostream> using namespace std; class A { public: 【 】{cout << "aa"; }

admin2013-02-27  26

问题 请将如下程序补充完整,使得输出结果为:bbaa
   #include <iostream>
   using namespace std;
   class A {
     public:
        【  】{cout << "aa"; }
   };
   class B: public A{
     public:
         ~B(){ cout << "bb"; }
   };
   int main () {
       B *p= new B;
       delete p;
       return 0;
   }

选项

答案~A()

解析 本题考查的知识点是:类的构造与析构。本题要求的输出结果中包含aa,所以基类A中填空位置处的函数一定要被执行。但主函数中仅仅创建了一个B类对象,然后释放了它,并没有调用什么函数。所以可以肯定填空处一定是要定义基类的构造或者析构函数。如果定义的是构造,那么盼肯定在new操作的时候就会被输出,而下面的bb是在析构函数中,会在delete时被输出。故可肯定应填入基类A的析构函数定义:~A()。
转载请注明原文地址:https://jikaoti.com/ti/3TE0FFFM
0

最新回复(0)