4
A
回答
4
是4號線將被使用,例如:
A a(3);
const A b(2);
a(); // from line 5
b(); // from line 4
3
int operator()() const { return _x; }
將在您的對象爲const
時調用。
還返回一個參考出來不是最好的設計,它打破了數據隱藏規則,set/get
功能是更好的選擇。當你的第4行被調用或第5行被調用時,你會感到困惑。
我建議改寫爲:
class A{
public:
explict A(int x) : x_(x) {}
//int operator()() const { return x_; } // leave operator() for functor.
operator int() const { return x_; } // use conversion function instead
void setX(int x) { x_ = x; }
private:
int x_; //suggest use trailing `_`
};
相關問題
- 1. 使用*運營商在函數調用
- 2. 運營商函數文本
- 3. 訪問一個函數調用是分組運營商
- 4. 內聯和靜態函數調用運營商
- 5. 運營商如何調用類的構造函數?
- 6. 整數運營商
- 7. Ocaml運營商在匿名函數
- 8. 運營商在模板函數類
- 9. C++ /析構函數 - 運營商刪除
- 10. 運營商和構造函數
- 11. 空 - 結合運營商和運營商&&
- 12. 運營商的情況下運營商
- 13. 或運營商與三元運營商
- 14. 的JavaScript +運營商VS - 運營商
- 15. 問題對運營商
- 16. 警告:對於運營商
- 17. 使用運營商
- 18. 引用運營商::
- 19. 使用「?」運營商
- 20. 應用運營商
- 21. 一起使用任何運營商,字符串函數
- 22. 同一組中運營商的C運營商優先級
- 23. 調用與間接運營商
- 24. 調用類運營商直接
- 25. 無法找到數字文字運營商的運營商‘’
- 26. 的<= and >運營商作爲一個函數的參數
- 27. 階,傳遞運營商作爲一個函數的參數
- 28. 一系列&&/||運營商
- 29. 〜運營商做了一些
- 30. 創建一流運營商
* 「變量名以'_' 5月的衝突與標準庫變數。」 *。 ....名字'_x'很好。該標準不允許像'__x'或'_X'這樣的名稱,即以雙下劃線OR變量開始的變量,以單下劃線開頭,後跟大寫字母。 – Nawaz