#include<iostream> using namespace std; class Part { public: Part(int x = 0) :val(x) { cout << val; } ~Part() { cout << val;} private: int val; }; class Whole { public: Whole(int x=0,int y=0,int z=0):p2(x),p1(y),val(z) { cout << val; } ~Whole() { cout << val; } private: Part p1, p2; int val; }; int main() { Whole obj(1, 2, 3); return 0; }代码运行的结果及过程
时间: 2024-03-29 14:35:05 浏览: 88
代码运行的结果是:123210。
程序的执行过程如下:
1. 程序开始执行,定义了两个类 Part 和 Whole。
2. 在类 Part 中定义了一个构造函数 Part(int x = 0),初始化了类的私有成员变量 val 为参数 x 的值。同时定义了一个析构函数 ~Part(),在析构时输出 val 的值。
3. 在类 Whole 中定义了一个构造函数 Whole(int x=0,int y=0,int z=0),初始化了类的私有成员变量 p2 和 p1 为参数 x 和 y 的值,val 为参数 z 的值。同时定义了一个析构函数 ~Whole(),在析构时输出 val 的值。
4. 在程序的主函数 main 中定义了一个 Whole 类的对象 obj,传入参数 1、2、3。
5. 执行 Whole 类的构造函数,首先调用 p2 的构造函数,输出 1,然后调用 p1 的构造函数,输出 2,最后输出 val 的值 3。
6. 执行程序的主体,输出 val 的值 3。
7. 程序执行结束,先调用 Whole 类的析构函数,输出 val 的值 3,然后调用 p1 和 p2 的析构函数,分别输出 2 和 1。
阅读全文
相关推荐



