重载函数在类外

更新时间:2023-12-11 08:29:53 阅读: 评论:0

2023年12月11日发(作者:美丽的丹顶鹤)

-

重载函数在类外

重载函数在类外

二.重载符号的函数既不是友元又不是成员,怎么办呢?

定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两

个复数之和。

Input

两个复数

Output

复数之和

Sample Input

3 4

5 -10

Sample Output

(8.00,-6.00i)

#include

#include

using namespace std;

class Complex

{

public:

Complex();//无参构造函数

Complex(double r,double i);//有参构造函数//有构造函数就必有初始化,不在类内就在类外,一定要有这个意识!

double get_real();

double get_imag();//用了两个函数

void display();

private:

double real;

double imag;

};

Complex::Complex(){real=0;imag=0;}

Complex::Complex(double r,double i)

{

real=r;

imag=i;

}//初始化,这个带参的初始化要训练自己用参数表的形式【Complex::Complex(double r,double i):real(r),imag(i){}】,不要写错了,并且牢记位置

double Complex::get_real()

{

return real;

}

double Complex::get_imag()

{

return imag;

}

Complex operator +(Complex&c1,Complex&c2)

{

Complex temp(_real()+_real(),_imag()+_imag());

return temp;

}//注意两点:一:函数类型是Complex;第二:函数名叫做“operator +”;在这个函数里调用了基类中的两个函数。

void Complex::display()

{

cout<<"("<

}

int main()

{

double real,imag;

cin>>real>>imag;

Complex c1(real,imag);

cin>>real>>imag;

Complex c2(real,imag);

Complex c3=c1+c2;

cout<

cout<

y();

return 0;

}

-

重载函数在类外

本文发布于:2023-12-11 08:29:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/170225459340685.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:重载函数在类外.doc

本文 PDF 下载地址:重载函数在类外.pdf

下一篇:返回列表
标签:函数   重载   牢记
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|