編輯運算子過載原始檔overload.cpp
#include
using
namespace
std;
class complex
complex(double r, double i)
complex operator +(complex &c2);
void display();
private:
double real;
double imag;
};complex complex::operator +(complex &c2)
void complex::display()
int main()
修改上述原始檔,將乙個常數和乙個複數相加:
#include
using
namespace
std;
class complex
complex(double r, double i)
complex operator +(complex &c2);
void display();
private:
double real;
double imag;
};complex complex::operator +(complex &c2)
void complex::display()
int main()
根據上述編譯時提示的錯誤資訊可知:過載後運算子兩邊的資料型別應該一致。
將c3 = 3 + c2;
改為c3 = complex(3, 0) + c2;
重新編譯執行得到以下結果:
C C 運算子過載的規則
本篇部落格講解 運算子過載的規則,以及例項 被過載的運算子必須是已經存在的c 運算子,不能過載自己建立的運算子。運算子被過載之後,原有功能仍然保留。只是擴充套件了原有功能。過載不能改變運算子運算物件的個數。運算子具有兩個運算元,在 運算子函式作為類 例如上個例子中的ctime 的成員函式的時候,有乙...
運算子過載之過載型別運算子
普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...