#includeusing namespace std;
class int
public:
bool operator&(const int &i);
bool operator>(const int &i);
bool operator<(const int &i);
//........
int operator*(const int &i);
int operator/(const int &i);
int operator-(const int &i);
int operator*=(const int &i);
int operator/=(const int &i);
int operator-=(const int &i);
int operator+=(const int &i);
int operator+(const int &i)
public:
int& operator++()//++a前++過載
int operator++(int a)//a++ 這個引數名a 可寫也可不寫 後++過載
private:
int m_i;
};void main()
//在後++中要通過乙個臨時變數,因此前++效率高
/*void main()/*/
/*//運算子過載的一般格式:
//返回值型別 類名::operator過載的運算子(參數列)
////複數
class complex
complex(int real,int imag)
~complex()
{}public:
void printcomplex()const
{ cout<<"("《在運算子過載中,基本上我們所見過的運算子都可以過載,當然也有例外的五個:
1-?:(三目條件運算子) 2- . 和 .*成員操作符 3- ::作用域操作符 4-sizeof 型別字長操作符
這五種運算子在c++中不允許被過載。
過載運算子有以下幾種限制:
1-不可臆造新的運算子;
2-不能改變運算子原有的優先順序、結核性和語法結構,不能改變運算子運算元的個數;
3-運算子過載不宜使用過多;
4-過載運算子含義必須清除,不能有二義性。
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...
運算子過載 類的賦值運算子過載
下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...
運算子過載限制 不能過載的運算子
1.過載後的運算子必須至少有乙個操作符是使用者定義的型別。2.使用運算子不能違反運算子原來的句法規則。3.不能新建運算子 4.不能過載 sizeof const cast,dynamic cast,reinterpret cast,static cast 5.只能通過成員函式過載的運算子 限制說明 ...