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 条评论) |