读书人

类的实现用quot;=quot;重载?

发布时间: 2012-02-15 12:09:44 作者: rapoo

类的实现,用"="重载?求助!!!
复数类:
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;
}

读书人网 >C++

热点推荐