请打开考生文件夹下的解决方案文件proj3,其中声明了MiniComplex是一个用于表示复数的类。请编写这个operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如

admin2021-02-22  18

问题 请打开考生文件夹下的解决方案文件proj3,其中声明了MiniComplex是一个用于表示复数的类。请编写这个operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如,(23+34i)+(56+35i)等于(79+69i)。
    要求:
    补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
    注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
    //Minicomplex.h
    #include<iostream>
    using namespace std;
    class MiniComplex //复数类
    {
    public:
      //重载流插入和提取运算符
      friend ostream&operator<<(ostream&  osObject,  constMiniComplex&complex)
        {
        osObject<<"("<<complex.realPart<<"+"<<complex.imagPart<<"i"<<")";
        return osObject;
      }
      friend istream& operator>>(istream& isObject,MiniComplex&complex)
      {
        char ch;
        isObject>>complex.realPart>>ch>>complex.imagPart>>ch;
        return isObject;
      }
      MiniComplex(double  real  =0,double imag=0);
    //构造函数
      MiniComplex operator+(constMiniComplex& otherComplex)const;
    //重载运算符+
    private:
      double realPart;//存储实部变量
      double imagPart;//存储虚部变量
      };

    void writeToFile(char,*);

    //main.cpp
    #include"MiniComplex.h"
    MiniComplex::MiniComplex(double real,double imag){realPart=real;imagPart=imag;}
    MiniComplex MiniComplex::operator+(const MiniComplex&otherComplex)const
    {
    //******** 333********


    //******** 666 ********
    }
    int main()
    {
       void writeToFile(char *);
       MiniComplex numl(23,34),num2(56,35);
       cout<<"Initial Value Of Numl="<<numl<<"\nInitial Valueof Num2="<<num2<<endl;
       cout<<numl<<"  +"<<num2<<"="<<numl+num2<<endl;//使用重载的加号运算符
       writeToFile("");
       return 0;
    }

选项

答案1 MiniComplex sum; //定义复数对象sum 2 sum.imsgPart = this一>imagPart +0therComplex.imagPart; //把this中的虚部(this一>imsgPart)和othercomplex虚部相加赋 值给sum虚部 3 sum.realPart = this一>realPart +otherComplex.realPart; //把this中的实部(this一> reapart)加上othercomplex实部 赋值给sum实部 4 return sum; //返回对象Sum

解析 主要考查考生对运算符重载的掌握,题目要求编写operater+运算符函数,以实现复数的求和与运算。复数的和的实部等于两个复数的实部之和,虚部等于两个复数的虚部之和。函数要返回的类型是MiniComplex,因此要先定义一个MiniComplex类型变量sum,然后对它们的实部和虚部各自求和,返回sum即可。
转载请注明原文地址:https://kaotiyun.com/show/Tmfp777K
0

最新回复(0)