C++程序输出是1200,求解?

发布网友 发布时间:2022-04-22 15:31

我来回答

2个回答

热心网友 时间:2023-10-20 03:23

#include <iostream.h>

class test {
public:
test() { cout << '1'; }
~test() { cout << '0'; }
};

void t(test c) {
cout << '2'; // 显示'2',第二个字符
// 调用析构函数释放复制构造函数生成的对象,输出'0',第三个字符
}

void main() {
test c; // 调用默认构造函数,输出'1',第一个字符
t(c); // 按值传递,需调用复制构造函数。由于复制构造函数是默认的,故不输出任何字符
// 调用析构函数释放默认构造函数生成的对象,输出'0',第四个字符
}

热心网友 时间:2023-10-20 03:24

main函数中创建test c, 调用构造函数, 打印"1";
调用t函数, 用实参初始化形参, 函数中打印"2";
t函数结束, 形参要被回收, 调用析构函数, 打印"0";
回到主函数, 程序结束, c回收, 调用析构函数打印"0"

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com