我需要帮助理解这些错误。我一直想弄清楚,但无法开始工作。我的算法是否正确添加?
这是我当前的错误:
' 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
}
答案 0 :(得分:3)
您将add()
定义为全局自由函数,而不是类Rational
的成员函数。因此,您无法访问其中的成员变量dem
。
更改
void add(const Rational&h2)
{
...
到
void Rational::add(const Rational&h2)
{
...