下载此文档

运算符重载 (3).ppt


文档分类:IT计算机 | 页数:约121页 举报非法文档有奖
1/121
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/121 下载此文档
文档列表 文档介绍
运算符重载
第1页,本讲稿共121页
第*页 共125页
第7章 运算符重载
运算符重载是面向对象程序设计的重要特征。运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同的行为。C++中经比较
第14页,本讲稿共121页
第*页 共125页
友元运算符函数
在C++中,可以把运算符重载函数定义成某个类的友元函数,称为友元运算符函数。
当运算符重载为友元函数时可以自由地访问类的所有成员。运算符重载为友元函数时,运算符所需要的操作数都需要通过函数的形参来传递,在参数表中参数从左至右的顺序就是运算符操作数的顺序。
第15页,本讲稿共121页
第*页 共125页
友元运算符函数
友元运算符函数定义的语法形式
双目运算符重载
单目运算符重载
第16页,本讲稿共121页
第*页 共125页
友元运算符函数定义的语法形式
友元运算符函数的原型在类的内部声明格式如下:
class X {
//…
friend 返回类型 operator运算符(形参表);
//…
}
第17页,本讲稿共121页
第*页 共125页
友元运算符函数定义的语法形式
在类外定义友元运算符函数的格式如下:
返回类型 operator运算符(形参表)
{
函数体
}
第18页,本讲稿共121页
第*页 共125页
双目运算符重载
当用友元函数重载双目运算符时,两个操作数都要传递给运算符函数。
第19页,本讲稿共121页
第*页 共125页
用友元运算符进行复数运算
两个复数a+bi和c+di进行加、减、乘、除的方法如下:
加法: (a+bi)+(c+di)=(a+c)+(b+d)i
减法:(a+bi)-(c+di)=(a-c)+(b-d)i
乘法:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i
除法:(a+bi)/(c+di)=((a+bi)*(c-di))/c2+d2
第20页,本讲稿共121页
第*页 共125页
用友元运算符进行复数运算
#include <>
class complex{
public:
complex(double r=,double i=);
void print( );
friend complex operator+(complex a,complex b);
friend complex operator-(complex a,complex b);
friend complex operator*(complex a,complex b);
friend complex operator/(complex a,complex b);
private:
double real;
double imag;};
第21页,本讲稿共121页
第*页 共125页
用友元运算符进行复数运算
complex::complex(double r,double i)
{
real=r;
imag=i;
}
complex operator+(complex a,complex b)
{
complex temp;
=+;
=+;
return temp;
}
第22页,本讲稿共121页
第*页 共125页
用友元运算符进行复数运算
complex operator-(complex a,complex b)
{
complex temp;
=-;
=-;
return temp;
}
第23页,本讲稿共121页
第*页 共125页
用友元运算符进行复数运算
complex operator*(complex a,complex b)
{ complex temp;
=*-*;
=*+*;
return temp; }
complex operator/(complex a,complex b)
{ complex temp;
double t;
t=1/(*+*);

运算符重载 (3) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数121
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库新人
  • 文件大小4.97 MB
  • 时间2022-01-25
最近更新