问题遇到的现象和发生背景
C++语言编译 复数类,测试输入输出
问题相关代码,请勿粘贴截图
#include
#include
#include<stdio.h>
using namespace std;
//在程序中想要直接使用 cin 和 cout ,必须作正确的文件包含。
class Complex //定义复数类
{
private:
float real, imag;
public:
Complex(); //构造无参函数
Complex(float r = 0, float i = 0); //带参构造函数
Complex(const Complex& cx); //拷贝构造函数
~Complex(); //析构函数
Complex add(Complex c); //类中的成员函数,表示一个复数具有的行为
Complex minus(Complex c); //类中的成员函数,表示一个复数具有的行为
Complex multiply(Complex c); //类中的成员函数,表示一个复数具有的行为
Complex dicision(Complex c); //类中的成员函数,表示一个复数具有的行为
void Display();//实现复数的输出
};
//类外实现公有成员函数
Complex::Complex()//无参函数
{
real = 0;
imag = 0;
cout << "The complex is constructed." << endl;
}
Complex::Complex(float real, float imag)//带参构造函数
{
this->real = real;
this->imag = imag;
}
Complex::Complex(const Complex& m)//拷贝构造函数
{
this->real = m.real;
this->imag = m.imag;
}
Complex::~Complex()//析构函数
{
}
Complex Complex::add(Complex c)//复数加法
{
real += c.real;
imag += c.imag;
return *this;
}
Complex Complex::minus(Complex c)//复数减法
{
real -= c.real;
imag -= c.imag;
return *this;
}
Complex Complex::multiply(Complex c)//复数乘法
{
real = realc.real-imagc.imag;
imag = realc.imag+imagc.real;
return *this;
}
Complex Complex::dicision(Complex c)//复数除法
{
float t = c.real * c.real + c.imag * c.imag;
real = (realc.real+imagc.imag)/t;
imag = (imagc.real-realc.imag)/t;
return *this;
}
void Complex::Display()//复数输出
{
if(imag > 0)
{
cout << real << "+" << imag << "i" << endl;
}
else if (imag < 0)
{
cout << real << imag << "i" << endl;
}
else {
cout << real << endl;
}
}
int main()
{
Complex c1 = Complex(3, 4);
Complex c2 = Complex(9, -4);
Complex c3 = Complex(4, 9);
Complex c4 = Complex(8, 4);
Complex c5 = Complex(21, 7);
cout << "输入的复数如下:\n";
c1.Display();
c2.Display();
c3.Display();
c4.Display();
c5.Display();
cout << "得到的运算结果如下:\n";
Complex t01 = c1.add(c2);
c2.Display();
c1.Display();
t01.Display();
Complex t02 = c2.minus(c3);
cout<< "t02 = " << t02<< endl;
t02.Display();
Complex t03 = c4.add(c2);
t03.Display();
Complex t04 = c5.minus(c3);
t04.Display();
Complex t05 = c1.add(c1);
t05.Display();
}
运行结果及报错内容
我的解答思路和尝试过的方法
在用cout<<"t02="<<t02<<endl;作为输出语句时,“<<” 报错
我想要达到的结果
正常输出语句即可