有以下程序 #include <iostream> using namespace std; class Complex { public: Complex (d

admin2013-02-27  19

问题 有以下程序        #include <iostream>        using namespace  std;        class Complex        {        public:            Complex (double  r=0, double  i =0 :re(r)  ,im (i) {}            double  real()   const {return  re;}            double  imag()   const {  return  im;}            Complex  operator  +  (Complex  c}  const            {return  Complex(re+c.re, im+c.im);}        privane:            double re,im;         };         int main         {            Complex  a =Complex (1,1)+Complex(5);            cout<<a.real()<<’+’<<a.imag() << ’i’ <<endl            return 0;         }        程序执行后的输出结果是

选项 A、6+6i
B、6+1i
C、1+6i
D、1+1i

答案B

解析 本题考核类与对象、运算符重载。运算符“+”在类Complex中作为成员函数重载,实现两个对象的数据成员的相加。所以main函数中语句“Complex  a  =Complex(1, 1) + Complex(5);”的作用相当于“Complex a(1+5, 1);”即对象a的数据成员re的值为6,imag的值为1,所以输出为6+1i。
转载请注明原文地址:https://kaotiyun.com/show/MbNp777K
0

最新回复(0)