所有C 操作符過載的例子

2021-06-14 01:19:43 字數 1335 閱讀 9469

1.[ ]操作符過載

c++語言規定:「[ ]」只能作為類的成員函式進行過載。

「[ ]」是c++中的下標運算子,對於陣列或指標來說,下表運算的語義是確定的,不能進行過載。因此,如果看到乙個運算結果不是陣列或指標的表示式後跟「[ ]」運算子,一定是對「[ ]」進行了過載。

乙個例子:

#include using namespace std;

class a

;a::a()

int& a::operator(int sub)

int main()

;employee::employee(string n, string p)

string& employee::operator(string s) //以字串作為引數,而不是整型

int main()

一般情況下過載 * 操作符都是以成員函式的形式進行的。

"*"是乙個一元操作符,它作用於指標,表示去指標所指單元的內容。一般來說,對*操作符進行過載的類都含有乙個指標。

乙個例子:

#include using namespace std;

templateclass data

~data()

//以友元函式形式過載

//templatefriend t operator*(const data&);

//以成員函式形式過載,,這樣比友元函式簡潔多了

t operator*() };

//友元函式

//template//t operator*(const data& d)

//int main()

a(int i)

void show()

student(string s, int a)

//拷貝建構函式

student(const student& s)

void show()

//operator<< 和 operator>> 只能是作為友元函式

//過載操作符<<

friend ostream& operator<<(ostream&, const complex&);

//過載操作符》

friend istream& operator>>(istream&, complex&);

};ostream& operator<<(ostream& out, const complex& c)

return in; //千萬別忘了返回 in

}int main()

~a()

void show()

C 操作符過載

1.作為成員過載 class myclass public myclass operator const myclass d cons friend myclass operator const myclass a1,const myclass a2 關於返回值型別的討論 呼叫者堆疊裡返回乙個物件效...

C 過載操作符

過載操作符 一 過載操作符的定義 1.過載操作符的結構 返回型別 operator 需要過載的操作符 形參列表 注意 形引數目應和運算元數目相同。2.過載操作符的幾條注意事項 1 過載的操作符名不能通過連線其他合法符號來建立任何新的操作符。如 2 過載操作符必須具備至少乙個類型別或列舉型別的運算元。...

c 操作符過載

過載操作符 一 限制 1 不能增加新的操作符 2 有些操作符不能過載,如.物件中的訪問成員 作用域解析操作符 sizeof 三元操作符 3 不能改變操作符的元數,元數是指與操作符相關的引數或運算元個數。比如一元操作符 只能應用於乙個操作符 4 不能改變操作符的優先順序 5 不能重新定義內建型別的操作...