描述
程式填空,使其按要求輸出
#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;
}
首先他直接輸出 123 123 123是因為他宣告 A a ; A\quad a; Aa;的時候進行了初始化。
其次它每次呼叫 a . G e t O b j ( ) a.GetObj() a.GetObj()都可以被成功賦值,那麼他返回的是參照。
因為只有參照可以被修改,如果返回的不是參照那麼只是個臨時的物件
注意要學習學習this
指標,可以直接百度一下。
#include <iostream>
using namespace std;
class A {
public:
int val;
A(int n=123) {//預設的初始化
val = n;
}
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;
}