(1)(2)处的转换属于显式转换还是隐式转换,并解释该转换过程,解释(3)(4)处的转换过程?

#include <iostream.h>
#include "stdlib.h"

class CComplex
{
public:
CComplex(double r = 0, double i = 0)
{
  real = r;
  imag = i;
}
int operator int()
{
  return (int)real;
}
void Display(void)
{
  cout << "(" << real << "," << imag << ")" << endl;
}

protected:
double real;
double imag;
};

class CVector
{
public:
CVector(CComplex &obj1, CComplex &obj2, CComplex &obj3, CComplex &obj4)
{
  objArray[0] = obj1;
  objArray[1] = obj2;
  objArray[2] = obj3;
  objArray[3] = obj4;
}
friend CComplex &operator[](CVector obj, int n);
private:
CComplex objArray[4];
};
CComplex &operator[](CVector obj, int n)
{
if(n<0 || n>3)
{
  cout<<"Out of range!"<<endl;
  exit(0);
}
return obj.objArray[n];
}

void main()
{
CComplex c1(1.1, 1.1);
CComplex c2(2.2, 2.2);
CComplex c3(3.3, 3.3);
CComplex c4(4.4, 4.4);

CVector v(c1,c2,c3,c4);

v[0].Display();
v[1].Display();
v[2].Display();
v[3].Display();

v[0] = 5.5; ----------------------------------------------------------
v[1] = CComplex(6.6); -------------------------------------------
v[2] = int(CComplex(7.7)); --------------------------------------
v[3] = int(CComplex(8.8,9.9)); ----------------------------------

v[0].Display();
v[1].Display();
v[2].Display();
v[3].Display();
}


Devil10
浏览 1776回答 1
1回答

慕粉201606

抱歉,我刚开始学,回答不了
打开App,查看更多内容
随时随地看视频慕课网APP