007:回傳什么才好呢
題面
描述
程式填空,使其按要求輸出
#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;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/171627.html
標籤:其他
上一篇:DFS(思路加簡單例題)
下一篇:【C初階】-掃雷
