- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 运算符重载
7.1 运算符重载概述
7.2 运算符函数重载为类的友元函数
和成员函数
7.3 几个常用运算符的重载
7.4 重载插入运算符和提取运算符
7.5 类型转换; 7.1 运算符重载概述
用于完成“+”、 “-”、 “*”、 “\”等操作的函数为运算符函数。
C++规定运算符函数名为:
operator+
operator-
operator*
operator\ 等
统称为:
operator@ ( @--要重载的运算符);
两个或者两个以上的运算符函数共用一个运算符函数名为运算符函数重载。
C++系统已经预先编好了将两个基本数据类型相加的的运算符函数,可以直接使用它们。
1.求两个整数相加,例如:
int i=2+3;
2.求两个双精度数相加,例如:
double d=2.222+3.333 ;
;
C++系统预先编好的运算符函数不能完成将两个对象的相加工作。
例如:有一个复数类complex:
class complex {
public:
double real,imag;
complex(double r=0,double i=0)
{ real=r; imag=i;}
};; 若要把类complex的两个对象com1和com2加在一起:
int main()
{
complex com1(1.1,2.2),com2(3.3,4.4);
complex total;
total = com1 + com2; //错误
//…
return 0;
}
; 解决办法:用户自己编写一个实现两个对象相加的运算符函数,例如:
int main()
{ complex com1(1.1,2.2),com2(3.3,4.4);
complex total;
total = com1+com2;
//…
return 0;}; 将类complex的两个对象相加的运算符函数operator+( ):
complex operator+(complexco1,complex co2)
{
complex temp;
temp.real=co1.real+co2.real;
temp.imag=co1.imag+co2.imag;
return temp;
}
;例7.1-1 将两个complex类对象相加的完整程序。
#includeiostream
using namespace std;
class complex {
public:
double real, imag;
complex(double r=0,double i=0){real=r;imag=i;}
};
complex operator+(complex co1,complex co2)
{complex temp;
temp.real=co1.real+co2.real;
temp.imag=co1.imag+co2.imag;
return temp; }; main( )
{ complex com1(1.1,2.2),com2(3.3,4.4),total1,total2;
total1=operator+(com1,com2);
coutreal1=total1.real;
cout imag1= total1.imag endl;
total2=com1+com2;
coutreal2=total2.real;
cout imag2=total2.imag endl;
return 0; };#includeiostream.h
class complex{
public:
double real, imag;
complex(double r=0,double i=0){real=r;imag=i;} };
complex operator+(complex co1,complex co2)
{complex temp;
temp.real=co1.real+co2.real;
temp.imag=co1.imag+co2.ima
您可能关注的文档
最近下载
- (高清版)B-T 24353-2022 风险管理 指南.pdf VIP
- GB∕T 24353-2022 《风险管理 指南》解读和应用指导材料(雷泽佳编写2024B0).pdf VIP
- 2025年版检验检测机构资质认定评审准则考试试题及答案.pdf VIP
- 前交通动脉瘤破裂伴蛛网膜下腔出血个案护理.pptx VIP
- 临床颅内动脉瘤破裂伴蛛网膜下腔出血的个案护理.pptx VIP
- 检验检测机构资质认定评审准则试题及答案.pdf VIP
- 语文教学中的心理健康教育心得体会.docx VIP
- 《检验检测机构资质认定评审准则》试题及答案.pdf VIP
- 蛛网膜下腔出血的个案护理.pptx VIP
- 蛛网膜下腔出血的个案护理.ppt VIP
文档评论(0)