C 操作符過載

2021-06-19 15:22:42 字數 1977 閱讀 5417

賦值操作符必須定義為成員函式,無論形參為何種型別

賦值必須返回*this 的引用 123

4567

89

1011

1213

1415

1617

1819

2021

classlove

love(inta ,intb ,intc): str(a), agi(b) , intel(c){};

love& operator+=(constlove &test)

};

intmain()12

3456

78910

1112

1314

1516

17classlove

love(inta ,intb ,intc): str(a), agi(b) , intel(c){};

};

//為了與內建操作符保持一致,加法返回乙個右值,而不是引用

love operator+(constlove &fir,constlove &sec)

為什麼io操作符必須為非成員函式?

因為做運算元只能是該類型別的物件

比如     love item;

item << cout ;

由於io操作符通常對非公用資料成員進行讀寫,所以通常將io操作符

設定為友元 123

4567

89

1011

1213

1415

1617

1819

2021

2223

2425

26classlove

love(inta ,intb ,intc): str(a), agi(b) , intel(c){};

friendistream& operator>>

(istream& , love&);

friendostream& operator<<

(ostream& ,constlove&);

};

//要有處理錯誤和檔案結尾的措施

istream& operator>>(istream& in, love &s)

ostream&

operator<<(ostream& out ,constlove &s)

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 不能重新定義內建型別的操作...