-1

我有 3 个用 c++ 编码的类。它们都很简单,但是编译器给出了很多错误。每个类都有一个cpp文件和头文件。可能的问题是什么?其中之一是“未定义的基类”。

class re {
  int i;
  int j;
  string a;
  re(int,int,int);
  ~re();
}

class Pre:public re {
  int k;
  public:
    Pre(int,int,int);
   ~Pre();
}

class MPre:public Pre {
  int z;
  public:
      MPre(int);
     ~Mpre(int);
}
4

3 回答 3

2

可能的错误:

  • re 类构造函数不是公开的。你知道吗?

  • MPre 构造函数得到一个输入,因此您必须为 Pre 类编写默认构造函数。

  • 添加头文件时要小心。例如 Pre class 需要 re class 的头文件。

  • 此外,除非您将指针变量添加到类,否则您不需要编写析构函数

于 2012-04-19T18:53:10.567 回答
0

类声明中缺少分号。此外,为了很好地将不同 .h .cpp 文件中的所有类分开,这样您就可以避免包含不需要的代码,以防万一您不需要它。此外,在继承的情况下,请确保您的析构函数是虚拟的,否则会产生内存泄漏。

此外,re 的构造函数不公开,使其公开。

于 2012-04-19T18:58:14.740 回答
0

对于错误undefined base class,我认为您没有在其他类所在的文件中声明#include该类的文件。re

于 2012-04-19T18:55:24.433 回答