关于C++运算符重载

关键词: C++, 运算符重载

运算符重载是C++语言的一个强大特性,本文尝试列出该特性的重要须知、重载的方式、时机与原型声明示例。

类别重载方式原型声明示例
二元算术均可,优先全局friend const T operator+ (const T&, const T&);
一元负号均可,优先成员const T operator- () const;
前自增(均可,优先成员T& operator++();
后自增(均可,优先成员T& operator++ (int);
赋值=必须是成员函数T& operator= (const T& rhs);
复合赋值均可,优先成员T& operator+= (const T& rhs);
二元比较均可,优先全局friend bool operator< (const T&, const T&);
流插入<<均可,优先全局friend ostream& operator<< (ostream&, const T&);
流提取>>均可,优先全局friend istream& operator>> (istream&, const T&);
常量下标[]必须是成员函数const E& operator[] (int) const;
非常量下标[]必须是成员函数E& operator[] (int);
函数()必须是成员函数void operator()(E&); // 返回类型和参数可多种多样
类型转换必须是成员函数operator int() const; // int可替换为要转换的类型

运算符重载参照表

SwingCoder

如果本文对您有所启发或助益,请微信打赏

创作时间: 2008.09.15 20:06
最后修改: 2017.08.22 20:28

本文版权:UnderwaySoft   共享协议:署名-非商业使用-禁止演绎


上一篇: 【原创】那年夏天
下一篇: 【改编】《叶塞尼亚》主题曲

 随机推荐:
Email: underwaySoft@126.com 微信公众号: UnderwaySoft