构造函数必须定义以下对象并打印它们:
CComplex c1;
CComplex c2(1,3);
CComplex c3(4);
CComplex c4(c3);
为+, - ,*和/ operation实现支持操作的重载运算符 两个复数之间以及浮点数与复数之间的运算。
但是如果仅使用一个参数声明,则对象会出错。查看了社区中FOO.h的示例并尝试了实施,但没有成功。
答案 0 :(得分:3)
如果目标确实是一个复杂的数字计算器,而不是完成学校作业或其他任意限制的练习,那么你应该使用std::complex
并且不要重新发明轮子。
对于它的价值,std::complex
的构造函数接受两个参数,两个参数都是默认值。不提模板,std::complex< double >
有效地明确定义了一个构造函数:
complex( double real = 0, double imaginary = 0 );
实现这一点应该获得问题中提到的功能。