c++ 编程练习 009:哪来的输出

北大程序设计与算法(三)测验题汇总(2020春季)


描述

程序填空,输出指定结果

#include <iostream>
using namespace std;
class A {
	public:
		int i;
		A(int x) { i = x; }
// 在此处补充你的代码
};
int main()
{
	A a(1);
	A * pa = new A(2);
	delete pa;
	return 0;
}

输入

输出
2
1

样例输入

样例输出
2
1

来源
Guo Wei


分析

我们发现1和2的输出顺序是相反的,那么很容易联想到析构函数的调用与构造函数的调用顺序相反。

#include <iostream>
using namespace std;
class A {
public:
	int i;
	A(int x) { i = x; }
	~A(){ cout << i << endl;}
};
int main()
{
	A a(1);
	A * pa = new A(2);
	delete pa;
	return 0;
}

执行效果
在这里插入图片描述

发布了196 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44116998/article/details/104358464
今日推荐