重载和实现对象的相减和相除
原创 FXGBCXLG
发布于2019-03-27 17:26:30
阅读数 28
收藏
展开
1.重载和实现复数相除
#include<iostream
using namespace std;
class complex
{
public:
complex ()
{ real = 0; imag = 0; }
complex(double r, double i) { real = r; imag = i; }
complex operator / (complex &c2);
void display();
private:
double real;
double imag;
};
complex complex:: operator / (complex &c2)
{
complex c;
c.real = (realc2.real + imag * c2.imag) / ((c2, real + c2.imag)(C2, real + c2.imag));
c.imag = (inagc2.real 一realc2 imag) / ((c2, real + c2.imag)(c2, real + c2.inag));
return c;
}
void complex : : disp1ay()
{
cout << “(”<< real <<","<< imag << “i)” << endl ;
}
int main()
{
complex c1(3,9), c2(6, 4),c3;
c3 = c1 / c2;
cout << “c1/c2=”;
c3.display();
return 0;
}
2.重载和实现复数相减
a.友元的加入
#include <iostream
using namespace std;
class complex
{
public:
complex() { real = 0; imag = 0; }
complex(double r, double i) { real = r; imag = i; }
friend complex operator - (complex &c1, complex &c2);
void display();
private:
double real;
double imag;
};
complex operator - (complex &c1, complex &c2)
{
return(c1.real - c2.real, c1.imag - c2.imag);
}
void complex::display()
{
cout<<"("<< real<<","<< imag << “i)” << endl;
}
int main()
{
complex c1(3, 9), c2(8, 7), c3;
c3 = c1 - c2;
cout << “c1-c2”;
c3.display();
return 0;
}
b.类的的成员函数
#include<iostream
using namespace std;
class complex
{
public:
complex() { real = 0; imag = 0; }
complex(double r, double i) { real = r; imag = i; }
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;
}
void complex:: display()
{
cout<<"("<< real <<","<<imag << “i)”<<endl;
}
int main()
{
complex c1(3, 9), c2(8, 7), c3;
c3 = c1 - c2;
cout << “c1-c2=”;
c3.display();
return 0;
}
————————————————
版权声明:本文为CSDN博主「FXGB*CXLG」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44748018/article/details/88850577
重载和实现对象的相减和相除)
最新推荐文章于 2021-10-13 11:03:24 发布