我正在尝试开发一个复数计算器。

时间:2012-11-26 01:47:01

标签: c++ constructor calculator

构造函数必须定义以下对象并打印它们:

CComplex c1;
CComplex c2(1,3);
CComplex c3(4);
CComplex c4(c3);

为+, - ,*和/ operation实现支持操作的重载运算符 两个复数之间以及浮点数与复数之间的运算。

但是如果仅使用一个参数声明,则对象会出错。查看了社区中FOO.h的示例并尝试了实施,但没有成功。

1 个答案:

答案 0 :(得分:3)

如果目标确实是一个复杂的数字计算器,而不是完成学校作业或其他任意限制的练习,那么你应该使用std::complex并且不要重新发明轮子。

对于它的价值,std::complex的构造函数接受两个参数,两个参数都是默认值。不提模板,std::complex< double >有效地明确定义了一个构造函数:

complex( double real = 0, double imaginary = 0 );

实现这一点应该获得问题中提到的功能。