作为我的计算机软件开发学位的一部分,我的一个实验室包括创建一个计算器类模板和一个分数类。
问题出在我的分数课上。我现在的任务是重载加号运算符以允许将两个分数相加。
分数.cpp:
#include "Fraction.h"
const Fraction Fraction::operator+ (const Fraction &rhs) const
{
return Fraction(_num * rhs.GetDen() + (rhs.GetNum() * _den), _den * rhs.GetDen());
}
分数.h
#pragma once
class Fraction
{
public:
Fraction(const int &num, const int &den) : _num(num), _den(den) {}
~Fraction(void) {}
const int GetNum(void) { return _num; }
const int GetDen(void) { return _den; }
const Fraction operator+ (const Fraction &rhs) const;
private:
const int _num, _den;
};
Visual Studio 抱怨我的分数访问器无法“将此指针从 const 分数转换为分数 &”。我完全感到困惑。