C++题目填空

来源:百度知道 编辑:UC知道 时间:2024/09/25 18:59:28
生成一个表示复数的类FS。复数的实部sb和虚部xb作为其数据成员。提供成员函数disp()显示复数(格式:-3+5i或6-2i),重载“+”、“-”为FS类的成员函数,用来计算两个复数的和、差。
思路导航:
① 定义类,设计构造函数和显示函数print();
② 重载运算符“+”、“-”为类FS的成员函数。
③ 实例化FS类的2个对象,并利用重载的运算符对其进行计算。
另外,根据上述定义,试将上述的运算符重载成员函数改写成友元函数。
#include <iostream.h>
class FS{
double sb,xb;
public:
FS(double a=0,double b=0);
FS & operator+ (FS&);
FS & operator- (FS&);
void print();
};
补充其余代码
void main()//主函数
{
FS a(-8,3),b(7,-4);
FS c1;c1=a+b;
a.print();cout<<"+";b.print();cout<<"=";c1.print();
cout<<endl;
FS c2;c2=a-b;
a.print();cout<<"-";b.print();cout<<"=";c2.print();
cout<<endl;
}

//运算符重载为友元函数
#include <iostream.h>
class FS{
double sb,xb;
public:
FS(double a=0,double b=0);
friend FS operator+ (FS &,FS &);
friend FS operator- (FS &,FS &)

//第一空
#include<FS.h>
FS& FS::operator+(FS& nun){
FS temp;
temp.sb=sb+num.sb;
temp.xb=xb+num.xb;
return temp;
}
FS& FS::operator-(FS& nun){
FS temp;
temp.sb=sb-num.sb;
temp.xb=xb-num.xb;
return temp;
}
void FS::print(){
if(xb>0)
cout<<sb<<"+"<<xb<<"i ";
else if(xb<0)
cout<<sb<<"-"<<xb<<"i ";
}
//第二空
#include<FS.h>
FS & operator+(FS& num1,FS& num2){
FS temp;
temp.sb=num1.sb+num2.sb;
temp.sx=num1.sx+num2.sx;
return temp;
}
FS & operator-(FS& num1,FS& num2){
FS temp;
temp.sb=num1.sb-num2.sb;
temp.sx=num1.sx-num2.sx;
return temp;
}
void FS::print(){
if(xb>0)
cout<<sb<<"+"<<xb<<"i ";
else if(xb<0)
cout<<sb<<"-"<<