复数CPP文件
#include <iostream>
using namespace std;
#include "complex.h"
complex::complex()
{
//Real=0;
realnum();
Imag=0;
}
complex::complex(double real,double imag)
{
//Real=real;
realnum(Real);
Imag=imag;
}
complex::addc(complex c1,complex c2)
{
//Real=c1.Real+c2.Real;
add(c1,c2);
Imag=c1.Imag+c2.Imag;
}
void complex::showc()
{
char s='+';
if(Imag<0)s='\0';
cout<<" 这个复数是:"<<Real<<s<<Imag<<"i"<<endl;
}
void complex::setcom()
{
n++;
cout<<"复数"<<n<<"实部是:";
cin>>Real;
cout<<"虚部是:";
cin>>Imag;
//cout<<endl;
}
附属类
#include <iostream>
using namespace std;
#include "realnum.h"
class complex:public realnum
{
public:
complex();
complex(double real,double imag);
void showc();
void setcom();
addc(complex c1,complex c2);
private:
double Imag;
};
主函数
#include <iostream>
using namespace std;
#include "complex.h"
main()
{
realnum r1,r2,r3;
complex c1,c2,c3;
r1.setnum();
r1.show();
r2.setnum();
r2.show();
r3.add(r1,r2);
cout<<"相加后:"<<endl;
r3.show();
cout<<endl;
c1.setcom();
c1.showc();
c2.setcom();
c2.showc();
c3.addc(c1,c2);
cout<<"相加后:"<<endl;
c3.showc();
return 0;
}
实数类
static int n=0;
#include <iostream>
using namespace std;
class realnum
{
public:
realnum();
realnum(double real);
void show();
void setnum();
void add(realnum r1,realnum r2);
protected:
double Real;
};
实数CPP文件
#include <iostream>
using namespace std;
#include "complex.h"
realnum::realnum()
{
Real=0;
}
realnum::realnum(double real)
{
Real=real;
}
void realnum::show()
{
cout<<" 这个实数是:"<<Real<<endl;
}
void realnum::setnum()
{
n++;
cout<<"实数"<<n<<"是:";
cin>>Real;
//cout<<endl;
}
void realnum::add(realnum r1,realnum r2)
{
Real=r1.Real+r2.Real;
}