下载此文档

第8章 运算符重载.ppt


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
第9章运算符重载

运算符重载的好处
plex:
plex {
public:
double real,imag;
complex(double r=0,double i=0)
{ real=r; imag=i;}
};
2加在一起,下面的语句是不能实现的:
main()
{
1(,),com2(,),total;
2; //错误
//…
return 0;
}
plex的两个对象相加,只要编写一个运算符函数operator+(),如下所示:
complex operator+(complex plex om2)
{
complex temp;
=+;
=+;
return temp;
}
我们就能方便地使用语句:
2;
2相加。
运算符重载函数的两种形式
友元运算符函数

在C++中,可以把运算符重载函数定义成某个类的友元函数,称为友元运算符函数。
1. 友元运算符函数定义的语法形式
友元运算符函数的原型在类的内部声明格式如下:
class X {
//…
friend 返回类型 operator运算符(形参表);
//…
}
在类外定义友元运算符函数的格式如下:
返回类型 operator运算符(形参表)
{
函数体
}
2. 双目运算符重载
当用友元函数重载双目运算符时,两个操作数都要传递给运算符函数。

用友元运算符函数进行复数运算。
#include<iostream>
using namespace std;
plex{
private:
double real,imag;
public:
complex(double r=0,double i=0)
{
real=r;
imag=i;
}
plex operator +(plex);
void show(){
cout<<real<<"+"<<imag<<"i";
}
};
complex operator+(complex plex om2)
{
complex temp;
=+;
=+;
return temp;
}
void main()
{
complex x(,),y(,),z;
z=x+y;
();cout<<"+";();
cout<<"=";();
cout<<endl;
}
一般而言,如果在类X中采用友元函数重载双目运算符@,而aa和bb是类X的两个对象,则以下两种函数调用方法是等价的:
aa @ bb; // 隐式调用
operator @(aa,bb); // 显式调用

第8章 运算符重载 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11