运算符重载:即为函数
生活随笔
收集整理的這篇文章主要介紹了
运算符重载:即为函数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
重載的運(yùn)算符即為函數(shù);
運(yùn)算符重載的原因:運(yùn)算符對(duì)操作數(shù)類型不支持。
將運(yùn)算符移植到新的類型上。
運(yùn)算符作為函數(shù),與普通函數(shù)的調(diào)用形式有所不同。
函數(shù):函數(shù)名(參量);
運(yùn)算符:按照運(yùn)算符的寫(xiě)法。
c++
class ca { public: int value;//重載為成員函數(shù)格式int operator+(const ca &v){return this->value + v.value; // 等同于return value+v.value;} };//重載為非成員函數(shù)格式 int operator+(const ca &v1, const ca &v2) {return v1.value + v2.value; }int main() {ca a, b;a.value = 10;b.value = 20;printf("a+b:%d\n", a + b); // 優(yōu)先用成員函數(shù)return 0; }
swift:
運(yùn)算符重載的原因:運(yùn)算符對(duì)操作數(shù)類型不支持。
將運(yùn)算符移植到新的類型上。
運(yùn)算符作為函數(shù),與普通函數(shù)的調(diào)用形式有所不同。
函數(shù):函數(shù)名(參量);
運(yùn)算符:按照運(yùn)算符的寫(xiě)法。
? ? aa @ bb;????????????????????? // 隱式調(diào)用
????aa.operator @(bb);???? // 顯式調(diào)用
c++
class ca { public: int value;//重載為成員函數(shù)格式int operator+(const ca &v){return this->value + v.value; // 等同于return value+v.value;} };//重載為非成員函數(shù)格式 int operator+(const ca &v1, const ca &v2) {return v1.value + v2.value; }int main() {ca a, b;a.value = 10;b.value = 20;printf("a+b:%d\n", a + b); // 優(yōu)先用成員函數(shù)return 0; }
swift:
infix operator <-- : LogicalConjunctionPrecedence
?
public func <-- <T>(property: inout T, name: String) -> CustomMappingKeyValueTuple {
? ? return property <-- [name]
}
總結(jié)
以上是生活随笔為你收集整理的运算符重载:即为函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Algs4-1.5.4给出id[]和sz
- 下一篇: 在Project 2010中添加自定义任