今天看effective c++ 說道等號過載的事,心裡一直有疑惑,這些運算子過載都是怎麼實現的。在學c++的時候只是草草的看過這部分內容,沒有真正自己使用過,對於等號如何操作私有成員一直有疑問,今天試了一下,哎,還真對得起咱這張臉。。。
#include class a
a(int v) : mval(v)
a(const a &obj)
~a(void){}
a& operator = (const a& r)
void equal(const a &r)
void set(int v)
int get(void)
private:
int mval;
};int main(void)
{ std::cout<。
事實上,複製建構函式也可以操作私有成員。。。。。
我弱爆了。。。
事實上,只要引數型別是自身的型別,就可以操作私有成員。。
下面是程式的輸出
hello assign operator
the value of obj1 is 1
the value of obj2 is 2
do assignment
the value of obj2 is 1
test copy constructor
the value of obj3 is 1
test equal method
the value of obj4 is 1
C 中的 , 等符號過載,以及過載等號操作
通過乙個實際的例子來介紹。其中過載 equal,gethashcode函式。以上就是介紹過載 equal,gethashcode的方法。但是有的時候我們需要過載 操作符,來方便我們進行傳遞,這在c 裡可以使用符號過載來實現,但是c 裡面就行不通了,不信你可以試試,編譯器會報錯的。c 裡實現相同效果使...
C 等號操作符過載錯誤
今天在幫同事看一段 時發現這麼乙個問題,雖然不大,但是困惑了不少時間,知道在csdn論壇上找到答案,特此記錄下來 但是,我今天碰到的問題就是,我實現了乙個等號操作符用來操作自定義類,編譯的時候,提示 void operator const a const a must be a nonstatic ...
等號操作符過載
當是涉及到深拷貝是,一種解決方式就是自己寫建構函式處理深拷貝,另一種方式就是等號操作符過載 等號操作符過載例項 define crt secure no warnings include using namespace std 單目運算子過載 class eqptor eqptor eqptor o...