如何区分两个参数相同的构造函数?

2022-02-22 00:00:00 constructor parameters c++

假设我们需要一个表示复数的类的两个构造函数:

Complex (double re, double img)  // construct from cartesian coordinates
Complex (double A, double w) // construct from polar coordinates
但是参数(数量和类型)是相同的:哪种方式更优雅 以确定目的是什么?是否向其中一个构造函数添加第三个参数?


解决方案

最好添加具有适当名称的静电方法,并让它们创建对象。

static Complex createFromCartesian(double re, double img);
static Complex createFromPolar(double A, double w);

相关文章