我有有成員方法f和g,兩者均由常量重載的類。調用f()中的g()有 。 f和const f的方法體是相同的。C++常量過載和代碼共享
class X {
void f() {/body ... g() /} const;
void f() {/body g() /};
void g() const;
void g();
};
因爲f()和g()具有相同的方法體的話,真希望有一種方法, 而不是有重複碼f和const F的複製。而且,當爲const對象執行f()的主體時,我希望對非const對象執行明顯的const g() (對非const對象,非const對象則爲非const g())。
@ cu3dots:他意味着'克()'函數不同,和'F( )const'可能會調用'克()const'甚至對非const X. –
不一個常過載常量性傳播的返回值(而不是常量性來獲得不同的行爲)?有沒有超過眼睛? – visitor