c++编程练习 007:返回什么才好呢

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


描述

程序填空,使其按要求输出

#include <iostream>
using namespace std;
class A {
public:
	int val;

	A(int
// 在此处补充你的代码
};
int main()
{
	int m,n;
	A a;
	cout << a.val << endl;
	while(cin >> m >> n) {
		a.GetObj() = m;
		cout << a.val << endl;
		a.GetObj() = A(n);
		cout << a.val<< endl;
	}
	return 0;
}

输入
多组数据,每组一行,是整数 m 和 n

输出
先输出一行:
123
然后,对每组数据,输出两行,第一行是m,第二行是n

样例输入
2 3
4 5

样例输出
123
2
3
4
5

来源
Guo Wei


分析

A a;
	cout << a.val << endl;

需要输出123,那么定义构造函数的时候可以默认值

A(int i = 123):val(i){ }

这样子不仅可以解决先输出123,还可以额外功能赋值;

a.GetObj() = m;

这个需要我们定义GetObj()函数,那么由于m是整型数值,那么我们采用的GetObj()的返回值有两种方式:

		一种是将GetObj()的返回值设为类的对象,那么m尽管是整形数据,
		但是他会创建一个临时对象,赋值给`GetObj()`的返回值.
		还有一种是将返回值设为整型数据;

在这里插入图片描述


class A {
public:
	int val;
	A(int i = 123):val(i){ }
	A &GetObj(){return *this;}
};

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/qq_44116998/article/details/104356153