Проблема с квалификатором типа C ++

В рамках моей степени в области разработки программного обеспечения, одна из моих лабораторных работ состоит из создания шаблона класса калькулятора и класса дробей.

Проблема заключается в моем классе дробей. Моя задача теперь состоит в том, чтобы перегрузить оператор плюс, чтобы две дроби можно было сложить вместе.

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 жалуется, что мои средства доступа к дробям не могут «преобразовать этот указатель из константной дроби в дробная часть &'. Я совершенно сбит с толку.

7
задан Bill the Lizard 19 September 2012 в 01:52
поделиться