例如,我们有一些结构可以用4个数字进行一些数学运算,并且我们想在两个构造函数中使用特定的值来完成某些特定的事情,是否有可能以不使用任何其他值的方式重载构造函数(模式切换)?
struct Coolness
{
float a = float();
float b = float();
float c = float();
float d = float();
Coolness(float a, float b)
{
/* do stuff here*/
}
此处为相同类型,但值不同
Coolness(float c, float d)
{
/* do other stuff here*/
}
};
一种替代方法是创建为您创建对象的静态方法。例如,如果您创建了自己的Complex
类,则可以使用静态方法从实部和虚部创建一个复数,然后可以使用另一个静态方法来创建一个传递绝对值和相位的对象。 >