C++学习笔记之操作符重载
来源:互联网 发布:excel透视数据图的字段 编辑:程序博客网 时间:2024/06/05 20:31
原文链接 点击打开链接
什么是操作符重载?
操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符。我们不妨先直观的看一下所谓的操作符重载:
#include <iostream> using namespace std; int main() { int a = 2 , b = 3; float c = 2.1f , d = 1.2f; cout<<"a + b = "<<a+b<<endl; cout<<"c + d = "<<c+d<<endl; return 0; }
我们看到操作符“+”完成float和int两种类型的加法计算,这就是操作符重载了。这些内置类型的操作符重载已经实现过了,但是如果现在我们自己写过的类也要实现实现类似的加法运算,怎么办呢??比如现在现在有这样一个点类point,要实现两个点的相加,结果是横纵坐标都要相加,这时候就需要我们自己写一个操作符重载函数了。
View Code #include <iostream> using namespace std; class point { double x; double y; public: double get_x() { return x; } double get_y() { return y; } point(double X = 0.0 , double Y = 0.0):x(X),y(Y){}; point operator +(point p); }; //重载操作符“+” point point::operator +(point p) { double x = this->x + p.x; double y = this->y + p.y; point tmp_p(x,y); return tmp_p; } int main() { point p1(1.2,3.1); point p2(1.1,3.2); point p3 = p1+p2; cout<<p3.get_x()<<" "<<p3.get_y()<<endl; return 0; }
- C++学习笔记之操作符重载
- C++之操作符重载学习笔记
- C++之操作符重载学习笔记
- 操作符重载——C/C++学习笔记
- (C/C++学习笔记操作符重载入门)
- C++之操作符重载和友元学习笔记
- c++学习笔记(9.操作符重载)
- C++学习笔记9-操作符重载
- C++学习笔记 操作符重载一
- C++学习笔记--操作符重载
- C++学习笔记--数组操作符重载
- C/C++ 之 操作符重载
- C++学习笔记41——重载操作符之下标操作符
- C++学习笔记42——重载操作符之箭头操作符
- C++学习之------操作符的重载
- C++ 学习之操作符重载
- C++学习之操作符重载
- C++学习之操作符重载
- Chapter 2: Working with OFBiz
- 安装MATLAB 2010b出现的问题及解决方法
- AutoCompleteTextView使用探索
- 高通拼抢国内芯片市场 联发科海外拓展难安心
- codeIgniter MVC中的V层用.php文件而不是.html
- C++学习笔记之操作符重载
- 2012-2013中国IT技术应用趋势调查报告
- Cognos 10.1 饼图百分比小数点显示的问题
- 多种方式生成WebServices客户端
- 清除Windows共享登录的用户名密码记录
- 分享android开发过程中用到的一些开源框架
- 收集:Hibernate中常见问题 No row with the given identifier exists问题的原因及解决 .
- MySQL基础技能与原理
- 火柴游戏 这是一个纵横火柴棒游戏。如图[1.jpg],在3x4的格子中,游戏的双方轮流放置火柴棒。