作者ric2k1 (Ric)
看板EE_DSnP
標題Re: [問題] ModNum operator =
時間Wed Nov 4 18:03:11 2009
※ 引述《anniecia (Annie)》之銘言:
: const ModNum& operator = (const ModNum& n) { _num=n._num; return (*this); }
: 1.
: 請問為什麼要回傳成const?
: 這樣會不會造成 一個object最多只能呼叫一次assignment operator?
啊, 這的確會造成 "(a = b) = c" 這樣的 statement 不能被允許...
但是 "a = b; a = c" 是可以的.
原則上是不會造成 compile 的問題. 除非你的 code 堅持要有 "(a = b) = c"
之類的 statement.
: 2.
: _num是private data member,n._num真的可以呼叫嗎? 跟它是const有關嗎?
還記得上課有講過, 只要是 class scope, private 就可以被直接使用.
與 const 無關.
: 3.
: 不用檢查self assignment嗎~~
這樣的 function prototype 定義 self assignment 也可以哦!
不用檢查.
: 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.6.141.148