发布网友 发布时间: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"