#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; }
时间: 2024-02-25 21:55:29 浏览: 141
这段代码中,缺少的部分是 `A(int x = 0) : val(x) {}`,用于构造函数的定义。完整代码如下:
```c++
#include <iostream>
using namespace std;
class A {
public:
int val;
A(int x = 0) : val(x) {} // 构造函数定义
A& GetObj() { return *this; } // 成员函数,返回对象本身
};
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;
}
```
这段代码定义了一个类 A,包含一个整型成员变量 val。构造函数 A(int x = 0) 初始化 val 的值为 x 或者默认值 0。成员函数 GetObj() 返回对象本身,方便进行连续的赋值操作。main() 函数中,定义了一个对象 a,初始时 val 值为 0。然后进入循环,每次输入两个整数 m 和 n,先将 a 的 val 赋值为 m,再输出 val 的值;然后将 a 的 val 赋值为一个新构造的对象 A(n),再输出 val 的值。循环结束后,程序返回 0。
阅读全文