C++ Complex(类与对象+构造)

题目描述
编写一个复数类,能实现加、减运算,能输出复数的信息。
要求至少包含以下方法:
1、缺省(无参)构造函数,设置实部与虚部为1;
2、有参构造函数,给实部与虚部赋值;
3、加法运算,计算两个复数的和;
4、减法运算,计算两个复数的差;
5、输出方法,输出当前复数的值
输入
测试数据的组数t
第一组的两个复数的实部 虚部 实部 虚部
第二组的两个复数的实部 虚部 实部 虚部…
输出
第一组两个复数的和
第一组两个复数的差
样例输入
4
2 1
2 1
2 1
2 -1
3 1
2 -6
3 3
2 2
样例输出
sum:4+2i
remainder:0
sum:4
remainder:2i
sum:5-5i
remainder:1+7i
sum:5+5i
remainder:1+i

#include
using namespace std;
class complex{
 private:
  int real;//实部
  int imaginary;//虚部
  
 public:
  complex(){//无参的构造函数,初始化了数据
   real=1;
   imaginary=1;
  }
  complex(int r,int im){//有参的构造函数
   real=r;
   imaginary=im;
  }
  complex add(const complex &a){
   complex sum;
   sum.real=real+a.real;
   sum.imaginary=imaginary+a.imaginary;
   return sum;
  }
  complex sub(const complex &a){
   complex remainder;
   remainder.real=real-a.real;
   remainder.imaginary=imaginary-a.imaginary;
   return remainder;
  }
  void print(){
   if(real!=0&&imaginary>1)
   cout<"+"<"i"<;
   if(real!=0&&imaginary==1)
   cout<"+"<<"i"<;
   if(real!=0&&imaginary==-1)
   cout<"-i"<;
   if(real!=0&&imaginary<-1)
   cout<"i"<;
   if(real==0&&imaginary!=0)
   cout<"i"<;
   if(real!=0&&imaginary==0)
   cout<;
   if(real==0&&imaginary==0)
   cout<<"0"<;
   
  }
};
int main(){
 int t,r,im;
 cin>>t;
 complex ccc;
 while(t--){
  cin>>r>>im;
  complex aaa(r,im);
  cin>>r>>im;
  complex bbb(r,im); 
  ccc=aaa.add(bbb);
  cout<<"sum:";
  ccc.print();
  ccc=aaa.sub(bbb);
  cout<<"remainder:";
  ccc.print();
 }
}

C++ Complex(类与对象+构造)_第1张图片

你可能感兴趣的:(C++ Complex(类与对象+构造))