當是涉及到深拷貝是,一種解決方式就是自己寫建構函式處理深拷貝,另一種方式就是等號操作符過載
等號操作符過載例項:
#define _crt_secure_no_warnings
#include using namespace std;
/*單目運算子過載*/
class eqptor
eqptor(eqptor &opp)
/*等號操作符過載*/
#if 0 /*等號操作符過載方式1*/
void operator=(eqptor &opp1)
this->str_length = opp1.str_length;
this->str = new char[str_length + 1];
strcpy(this->str, opp1.str);
}#endif
/*等號操作符過載方式2*/
eqptor operator=(eqptor &opp1)
this->str_length = opp1.str_length;
this->str = new char[str_length + 1];
strcpy(this->str, opp1.str);
return *this;
} void print()
~eqptor() }
};int main()
system("pause");
return 0;
}
C 等號操作符過載錯誤
今天在幫同事看一段 時發現這麼乙個問題,雖然不大,但是困惑了不少時間,知道在csdn論壇上找到答案,特此記錄下來 但是,我今天碰到的問題就是,我實現了乙個等號操作符用來操作自定義類,編譯的時候,提示 void operator const a const a must be a nonstatic ...
操作符過載
ifndef vertex h define vertex h class vertex vertex float px float py float pz vertex operator const vertex p vertex operator const vertex p void oper...
操作符過載
1.操作符是靜態方法,返回值表示操作結果,引數是運算元。2.操作符過載需要在過載的操作符前加上operator關鍵字。3.最好少用操作符過載,只有在意義明晰而且與內建類的操作一致時才適合使用,以免造成混亂。以建立的分數類 fraction 中的 為例,該分數類中有兩個int型的私有屬性 分子 num...