一、现double数据与Complex类型相加,得出double
#include <iostream>
using namespace std;
class Complex
{
public:
Complex()
{
real=0;
imag=0;
}
Complex(double r, double i)
{
real=r;
imag=i;
}
operator double()
{
return real;
}
private:
double real;
double imag;
};
int main()
{
Complex c1(3, 4), c2(5, -10), c3;
double d;
d= 2.5+c2;
cout << "复数型c1加上double型c2的值为:" << d << endl;
return 0;
}

二、复数与double相加,得出复数
#include <iostream>
using namespace std;
class Complex
{
public:
Complex()
{
real=0;
imag=0;
}
Complex(double r)
{
real=r;
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 Complex(c1.real + c2.real, c1.imag + c2.imag);
}
void Complex::display()
{
cout << "(" << real << "," << imag << ")" << endl;
}
int main()
{
Complex c1(3, 4), c2(5, -10), c3;
c3= c1+2.5;
cout << "复数型c1加上double型2.5的值为:";
c3.display();
c3= c2+2.5;
cout << "复数型c2加上double型2.5的值为:";
c3.display();
return 0;
}

|