-6

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

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

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

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

4

1 回答 1

3

如果目标真的是拥有一个复数计算器,而不是完成学校作业或其他具有一些任意限制的练习,那么您应该使用std::complex而不是重新发明轮子。

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

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

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

于 2012-11-26T02:04:13.777 回答