C++运算符重载
来源:互联网 发布:匡恩网络 b轮 编辑:程序博客网 时间:2024/06/16 22:06
运算符重载:
运算符重载实质上是函数重载,其目的是设置一个运算符使其具有其他的功能,例如"+"号在数值运算中是两个数的相加,但是在字符串中则是两个字符串的连接。
如果自定义的类型想要进行运算,如自定义类型的两个对象需要相加,就可以使用运算符重载。
来源:http://jpk.sdju.edu.cn/cplus/kejian/CONTENT/chapter7/chapter7_2_1.htm
运算符重载的格式:
函数类型 operator 运算符名称 (形参列表) { // 对运算符的重载处理 }
(1)类的成员函数
#include <iostream>using namespace std;class Test{public ://构造函数Test(){numA=0;numB=0;}Test(int a,int b){numA=a;numB=b;}//重载运算符的函数Test operator + (Test & t){Test t1;t1.numA=numA+t.numA;t1.numB=numB+t.numB;return t1;}void show(){ cout<<numA<<endl; cout<<numB<<endl;}private :int numA;int numB;};int main(){Test t1(1,5),t2(2,6),t3;t3=t1+t2;cout<<"t1:"<<endl;t1.show();cout<<"t2:"<<endl;t2.show();cout<<"t3=t1+t2:"<<endl;t3.show();return 0;}
输出结果:
t1:
1
5
t2:
2
6
t3=t1+t2:
3
11
分析:
在main函数中,“t3=t1+t2;”在将运算符+重载为类的成员函数后,C++编译系统将程序中的表达式t1+t2解释为:
t1.operator+(t2);其中t1和t2都是Test类的对象,即以t2为实参调用t1的运算符重载函数operator+(Test & t2),进行求值,得到两个数之和。
来源:http://www.jb51.net/article/42098.htm
(2)类的友元函数
1.运算时,有数和对象的混合运算时,必须使用友元。
2.二元运算符中,第一个操作数为非对象时,必须使用友元函数。
friend const 类的名称 operator运算符名称(参数1,参数2);
来源:http://blog.csdn.net/insistgogo/article/details/6626952
0 0
- C++-运算符重载
- [C++]重载运算符
- C#:运算符重载
- c++-++运算符重载
- C++:重载运算符
- 运算符重载(C++)
- [c++]运算符重载
- 【C++】运算符重载
- C++--------------------------------------------运算符重载
- C#:运算符重载
- C++:运算符重载
- C++:运算符重载
- C#:运算符重载
- [C++]运算符重载
- 【c++】运算符重载
- C++:运算符重载
- C#:运算符重载
- C++:运算符重载
- 邢台好的治自闭症的yiyuan
- Adobe CC 2014 全系列 MAC/PC 完美破解激活教程
- Java 反射机制
- 不定义JQuery插件,不要说会JQuery
- 第3章 6
- C++运算符重载
- 邢台好的儿童自闭症yiyuan
- 图标插件性能对比报告
- jfinal+jsp+jquery.form.js+oracle实现上传文件
- 字符窜序列化serialize问题
- 邢台好的自闭症yiyuan
- ajax页面刷新小错误
- 使用objection来模块化开发iOS项目
- 优秀程序员的故事