В рамках моей степени в области разработки программного обеспечения, одна из моих лабораторных работ состоит из создания шаблона класса калькулятора и класса дробей.
Проблема заключается в моем классе дробей. Моя задача теперь состоит в том, чтобы перегрузить оператор плюс, чтобы две дроби можно было сложить вместе.
Fraction.cpp:
#include "Fraction.h"
const Fraction Fraction::operator+ (const Fraction &rhs) const
{
return Fraction(_num * rhs.GetDen() + (rhs.GetNum() * _den), _den * rhs.GetDen());
}
Fraction.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 жалуется, что мои средства доступа к дробям не могут «преобразовать этот указатель из константной дроби в дробная часть &'. Я совершенно сбит с толку.