类的实现,用"="重载?求助!!!
复数类:
1.按照a+bi的形式显示一个复数
2.有复数z,复数y,能实现复数z+y相加.(要求复数加法可以实现连加)
前两问好办!
3,实现complex z=a+bi, double x=z;(x=a+b)
这一问不会!
[解决办法]
定义构造函数
Complex(double RealPart,double ImagePart)
{
m_ImagePart=ImagePart;
m_RealPart=RealPart;
}
加入一个拷贝构造函数
Complex(const Complex& cl)
{
m_ImagePart=cl.m_ImagePart;
m_RealPart=cl.m_RealPart;
}
Complex c1(3,4); //产生了3+4i ,即a+bi
Complex z=c1; //调用拷贝构造函数.完成z=a+bi, z=3+4i
再定义一个转换函数
operator double() //完成第三问后半部分,double x=z, x=a+b,即3+4=7
{
return m_ImagePart+m_RealPart;
}