我有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);
}
答案 0 :(得分:2)
可能出现的错误:
重类构造函数不公开。你知道吗?
MPre构造函数获取一个输入,因此您必须为Pre类编写默认构造函数。
添加头文件时要小心。例如,Pre类需要重新类'头文件。
此外,除非将指针变量添加到类中,否则不需要编写析构函数
答案 1 :(得分:0)
对于错误undefined base class
,我认为您没有#include
在其他类所在的文件中声明类re
的文件。
答案 2 :(得分:0)
类声明中缺少分号。另外,为了很好地分隔不同的.h .cpp文件中的所有类,这样您就可以避免在不需要的情况下包含不需要的代码。同样在继承的情况下,确保您的析构函数是虚拟的,否则会产生内存泄漏。
此外,re的构造函数不公开,公开。