重载操作符 'operator'
2019-01-21 02:36:43来源:博客园 阅读 ()
operator 是 C++ 的(运算符的)重载操作符。用作扩展运算符的功能。
它和运算符一起使用,表示一个运算符函数,理解时应将 【operator+运算符】 整体上视为一个函数名。
要注意的是:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都是由函数实现的)。
使用时:
【返回类型】 【operator+运算符】 (const ElemType&a)const {...}
为什么需要重载操作符?
系统的所有操作符,一般情况下,只支持基本数据类型和标准库中提供的class。
而针对用户自己定义的类型,如果需要其支持基本操作,如’+’,‘-’,‘*’,‘/’,‘==’等等,则需要用户自己来定义实现(重载)这个操作符在此新类型的具体实现。
例:
创建一个point类并重载‘+’,‘-’运算符;
struct point { double x; double y; point() {}; //初始化 point(double a,double b) { x = a; y = b; }; //重载+运算符 point operator + (const point& a) const { return point (x+ a.x, y+ a.y); } //重载-运算符 point operator - (const point& a)const { return point(x-a.x, y-a.y); } };
检验;
int main() { point w(2, 6), v(5, 3); printf("w与v的坐标分别为:\n"); printf("w = (%.2f, %.2f)\nv = (%.2f, %.2f)\n", w.x, w.y, v.x, v.y); point z = w+ v; printf("w+v 的值z = (%.2f, %.2f)\n", z.x, z.y); z = w- v; printf("w-v 的值z = (%.2f, %.2f)\n", z.x, z.y); return 0; }
检验结果;
end;
原文链接:https://www.cnblogs.com/Amaris-diana/p/10289937.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Linux下QT、cannot find -lGL、
下一篇:多重背包模板
- C++ 运算符重载 2020-06-10
- Unsolved --> Solved OJ思路题解 2020-05-30
- Building & Debugging chromium on CLion for Linu 2020-05-19
- 洛谷P1164->小A点菜 2020-05-18
- 表达式·表达式树·表达式求值 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash