是否可以有一个类,但也可以调用该类的对象以在函数中使用?

问题描述 投票:0回答:1
void MixedFractions::Subtraction() {
  class MixedFractions MixedFrac1, MixedFrac2, MixedFracSum;
  int wholeNum1, wholeNum2, wholeNumSum;

  wholeNum1 = MixedFrac1.GetWholeNum();
  wholeNum2 = MixedFrac2.GetWholeNum();

  wholeNumSum = wholeNum1 - wholeNum2;

  MixedFracSum.SetWholeNum(wholeNumSum);
}

我正在尝试,但我不确定我是否正确实施它,因为它只是项目的一部分,而是想确保我正在接近这一点,而不是做错了。由于我正在考虑两种方式,它要么只使用默认构造函数,而不使用我试图实现的值。同样,它将无法设置我尝试通过该函数传递的值。

c++
1个回答
0
投票

如果我正确理解了这个问题,那么您是在问是否可以在

MixedFractions
的成员函数中定义
MixedFractions
类型的局部变量。

答案是肯定的。

class MixedFractions MixedFrac1, MixedFrac2, MixedFracSum;
确实定义了三个变量。它们都是用默认构造函数初始化的。

这条规则有一个重要的例外,如果你仔细想想,那就很明显了。如果您尝试在

MixedFractions
的构造函数中创建类型为
MixedFractions
的局部变量,则会调用
MixedFractions
的另一个构造函数,这可能很快就会导致堆栈溢出。

© www.soinside.com 2019 - 2024. All rights reserved.