学不会绝不改名 发表于 2021-12-28 11:41:11

请写出以下程序的输出结果

#include <iostream>
using namespace std;

class A{
        public:
                int num;
        public:
                A(int x):num(x)
                {               
                        cout << "Constructing A by "<<num<<"...\n";
                }
                ~A(){cout << "Destroying A("<<num<<")...\n";}
};

class B : public A{
                A base;
        public:
                B(int x, int y):base(y),A(x)
                {
                        cout << "Constructing B by "<<num<<"&"<<base.num<<"...\n";
                }
                ~B(){cout << "Destroying A("<<num<<"&"<<base.num<<")...\n";}
};

int main()
{
        A a = 0;
        B b1(1,2), b2(3,4);
}

小亦003 发表于 2021-12-28 16:15:36

自己运行一遍不就行了吗{:10_277:}
Constructing A by 0...
Constructing A by 1...
Constructing A by 2...
Constructing B by 1&2...
Constructing A by 3...
Constructing A by 4...
Constructing B by 3&4...
Destroying A(3&4)...
Destroying A(4)...
Destroying A(3)...
Destroying A(1&2)...
Destroying A(2)...
Destroying A(1)...
Destroying A(0)...
页: [1]
查看完整版本: 请写出以下程序的输出结果