- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7运算符重载教程
第7章 运算符重载;7.1 重载运算符的目的;函数式的表达方法;运算符函数;void f( )
{
Complex a(1, 3.1) ;
Complex b(1.2, 2) ;
Complex c = b;
a = b+c;
b = b+c*a;
c = a*b ;
};7.2 运算符重载语法;运算符函数的一般格式;运算符重载的限制;运算符重载的限制(续);7.3 成员运算符函数;成员运算符函数;#includeiostream.h
class Complex //复数类声明
{
public: //外部接口
Complex(double r=0.0,double i=0.0) {real=r;imag=i;} //构造函数
Complex operator + (Complex c2); //+重载为成员函数
Complex operator - (Complex c2); //-重载为成员函数
void display( ); //输出复数
private: //私有数据成员
double real; //复数实部
double imag; //复数虚部
}; ;//重载运算符函数的实现
Complex Complex::operator +(Complex c2)
{
Complex c;
c.real = real + c2.real;
c.imag = imag + c2.imag;
return c;
};//重载运算符 - 函数实现
Complex Complex::operator - (Complex c2)
{
Complex c;
c.real=real-c2.real;
c.imag=imag-c2.imag;
return c;
};void Complex::display( )
{ cout(real,imag)endl; }
int main() //主函数
{ Complex c1(5,4),c2(2,10),c3; //定义复数类的对象
coutc1=; c1.display();
coutc2=; c2.display();
c3=c1-c2; //使用重载运算符完成复数减法
coutc3=c1-c2=;
c3.display();
c3=c1+c2; //使用重载运算符完成复数加法
coutc3=c1+c2=;
c3.display( );
return 0;
};程序输出的结果为:
c1=(5,4)
c2=(2,10)
c3=c1-c2=(3,-6)
c3=c1+c2=(7,14)
;7.4 友元运算符函数;友元运算符函数;#includeiostream.h
class Complex //复数类声明
{
public: //外部接口
Complex(double r=0.0,double i=0.0) { real=r; imag=i; } //构造函数
friend Complex operator + (Complex c1,Complex c2); //运算符+重载为友元函数
friend Complex operator - (Complex c1,Complex c2); //运算符-重载为友元函数
void display(); //显示复数的值
private: //私有数据成员
double real;
double imag;
}; ;Complex operator +(Complex c1,Complex c2){
Complex c;
c.real = c1.real + c2.real;
c.imag = c1.imag + c2.imag;
return c;
}
Complex operator -(Complex c1,Complex c2) {
Complex c;
c.real = c1.real - c2.real;
c.imag = c1.imag - c2.imag;
return c;
}
// 其它部分同上例;int main() //主函数
{ Complex c1(5,4),c2(2,10),c3; //定义复数类的对象
coutc1=; c1.display();
coutc2=; c2.displa
文档评论(0)