(七)运算符重载
除了可以重載函數之外,c++還允許程序員定義已有的運算符,這樣通過運算符重載就可象處理數據那樣使用它們。
class num{public:
int get(){return n;}
num(){n=1;}
void operator++(){++n}
private:
int n;
}
int main(){
num i;
cout<<"i:"<<i.get()<<endl;
++i;
cout<<"i:"<<i.get()<<endl;
return 0;
}
通過operator 修飾符來實現 ++i這種前置自加運算符。
在例如 1+2; 系統會自動翻譯為 operator+(1+2)
?重載限定
C++的運算符大部分都可以被重載,但是有一些卻不能被重載,如: . :: * ? # , . :: * 在c++中有特殊的意義,假如重載的話會引起一些麻煩。#是預處理標志,而不是運算符, ? : 這個符號沒有確定性,重載沒有意義。
:: 作用域限定運算符
. 成員選擇運算符
* 指針運算符
?
?
轉載于:https://www.cnblogs.com/developer-wang/archive/2013/03/05/2943779.html
總結
- 上一篇: 关于库
- 下一篇: 真机运行报错:Could not cha