【发布时间】:2015-07-05 04:41:18
【问题描述】:
因此,对于我开始的 C++ 编程课程,我们正在编写一个程序,该程序为分数创建一个类,然后对创建的对象执行算术运算。该作业给出了Fraction 类的定义,这里是我最难以理解的公共成员。创建的对象是f1、f2 和fresult。
public:
void inputFrac();
void printFrac();
Fraction fracMult(Fraction b);
Fraction fracDiv(Fraction b);
Fraction fracAdd(Fraction b);
Fraction fracSub(Fraction b);
我通过创建一个类来理解你正在创建一个类型,但是当我在 main 中调用 fracMult 函数时,就像在为程序提供给我们的模板中一样-->
fresult = f1.fracMult(f2);
我在 main 之外的函数看起来像这样
Fraction :: Fraction fracMult(Fraction b)
{
Fraction x;
x.numerator = fraction.numerator * b.numerator;
x.denom = fraction.denom * b.denom;
if (fraction.positive == true && b.positive == false ||
fraction.positive == false && b.positive == true)
{
x.positive = false;
}
else (fraction.positive == true && b.positive == true ||
fraction.positive == false && b.positive == false)
{
x.positive = true;
}
return (x);
}
我收到一个错误
main.cpp:79:1: error: 'Fraction::Fraction' 命名构造函数,而不是类型 分数::分数fracMult(分数b)
我真的很困惑,类中函数的类型如何成为类的名称,以及我应该如何在 main 之外格式化函数。
【问题讨论】:
-
:: 用于指定某物在哪里。函数
fracMult在Fraction内部。现在,您有一个全局fracMult函数在Fraction内部返回一个Fraction,这没有多大意义。