1. 程式人生 > 其它 >c++ 2017年10月第53題

c++ 2017年10月第53題

聲明覆數類Complex,該類中有兩個私有變數real , image分別表示一個複數的實部和虛部。

為Complex類新增適當的建構函式,並使用友元函式 add實現複數加法。

#include <iostream>
using namespace std;

class Complex
{
private:
double real,image;
public:
Complex(){}
Complex(double a,double b)                //兩個建構函式是考試內容
{
real=a;
image=b;
}
void setRI(double a,double b)
{
real=a;
image=b;
}
double getReal()
{
return real;
}
double getImage()
{
return image;
}
void print()
{
if(image>0)
cout<<"複數:"<<real<<"+"<<image<<"i"<<endl;
if(image<0)
cout<<"複數:"<<real<<"-"<<image<<"i"<<endl;
}
friend Complex add(Complex,Complex); //宣告友元函式
};

Complex add(Complex c1,Complex c2)       //友元函式定義是考試內容
{
Complex c3;
c3.real = c1.real + c2.real; //訪問Complex類中的私有成員
c3.image = c1.image + c2.image;
return c3;
}

void main()
{
Complex c1(19,0.864),c2,c3;
c2.setRI(90,125.012);
c3=add(c1,c2);
cout<<"複數一:";
c1.print();
cout<<"複數二:";
c2.print();
cout<<"複數三:";
c3.print();
}

 執行結果 :