描述
程序填空,使其按要求输出
#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
代码实现
GetObj()函数调用是个左值,需要返回一个类型A的引用,可以通过*this将调用函数的对象返回
另外只有一个参数的构造函数,同时也是类型转换函数
a.GetObj() = m;会调用赋值运算符“=”,我们自己没写,采用的默认赋值操作,默认操作就是浅拷贝,即逐字节拷贝,对本例来说是可以的
class A {
public:
int val;
// 在此处补充你的代码
A(int i):val(i){
}
A():val(123){
}
A & GetObj(){
return *this;
}
};