#include "stdafx.h"
#include using namespace std;
#include #if 0
運算子過載實踐
結論:1,乙個操作符的左右運算元不一定是相同型別的物件,
這就涉及到將該操作符函式定義為誰的友元,誰的成員問題。
2,乙個操作符函式,被宣告為哪個類的成員,取決於
該函式的呼叫物件(通常是左運算元)。
3,乙個操作符函式,被宣告為哪個類的友員,取決於
該函式的引數物件(通常是右運算元)
#endif
class mail; //向前宣告
class sender
sender & operator<<(mail &mail);
private:
string _addr;
};class mail
friend sender & sender::operator<<(mail &mail);
private:
string _title;
string _contents;
string _time;
};sender & sender::operator<<(mail &mail)
int _tmain(int argc, _tchar* argv)
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...
C 運算子過載時,將運算子兩邊物件交換問題
在c 進行運算子過載時,一般來講,運算子兩邊的物件的順序是不能交換的 比如下面的例子 include using namespace std class distance distance int f,int i 顯示距離的方法 void displaydistance 過載加運算子 distanc...
運算子過載 類的賦值運算子過載
下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...