需要帮助通过类修复这些错误

时间:2015-09-30 03:32:28

标签: c++ c++11

我需要帮助理解这些错误。我一直想弄清楚,但无法开始工作。我的算法是否正确添加?

这是我当前的错误:

  

' DEM'未在此范围内宣布。

我认为头文件负责初始化。

Rational.h

#ifndef _RATIONAL_H_
#define _RATIONAL_H_
#include <iostream>
using namespace std;
class Rational
{


    int num; //p
    int dem; // q


public:

Rational();

Rational(int P, int Q = 1);

void display() const; // _p:_q

void add(const Rational&);

};
#endif

Rational.cpp

#include "Rational.h"
int main()


{

    Rational r1(1 ,2);
    Rational r2(1,4);
    r1.add(r2);
    r1.display();


}
void add(const Rational&h2)
{

    int  i, k;
    Rational fract;
    add(h2);

    i = dem;
    k = h2.dem;
    num*= k;
    dem*=k;
    num = +r2.num*i;
    //return

}

1 个答案:

答案 0 :(得分:3)

您将add()定义为全局自由函数,而不是类Rational的成员函数。因此,您无法访问其中的成员变量dem

更改

void add(const Rational&h2)
{
...

void Rational::add(const Rational&h2)
{
...