void MixedFractions::Subtraction() {
class MixedFractions MixedFrac1, MixedFrac2, MixedFracSum;
int wholeNum1, wholeNum2, wholeNumSum;
wholeNum1 = MixedFrac1.GetWholeNum();
wholeNum2 = MixedFrac2.GetWholeNum();
wholeNumSum = wholeNum1 - wholeNum2;
MixedFracSum.SetWholeNum(wholeNumSum);
}
我正在尝试,但我不确定我是否正确实施它,因为它只是项目的一部分,而是想确保我正在接近这一点,而不是做错了。由于我正在考虑两种方式,它要么只使用默认构造函数,而不使用我试图实现的值。同样,它将无法设置我尝试通过该函数传递的值。
如果我正确理解了这个问题,那么您是在问是否可以在
MixedFractions
的成员函数中定义 MixedFractions
类型的局部变量。
答案是肯定的。
class MixedFractions MixedFrac1, MixedFrac2, MixedFracSum;
确实定义了三个变量。它们都是用默认构造函数初始化的。
这条规则有一个重要的例外,如果你仔细想想,那就很明显了。如果您尝试在
MixedFractions
的构造函数中创建类型为 MixedFractions
的局部变量,则会调用 MixedFractions
的另一个构造函数,这可能很快就会导致堆栈溢出。