简单的类导致错误
我有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);
}
可能出现的错误:
重类的构造函数是不公开的。你知道吗?
MPre构造函数获取一个输入,因此您必须为Pre类编写默认构造函数。
添加头文件时要小心。例如,Pre类需要re class的头文件。
而且,除非添加指针变量的类
如果你要使用继承,你需要一个虚拟析构函数。 – AlexTheo 2012-04-19 18:56:12
如果你有任何分配的资源,你也需要一个析构函数,不仅仅是内存,还有文件等。 – 2012-04-20 03:47:23
有关错误undefined base class
你不需要写析构函数,我想你还没有#include
d文件中的类re
是在其他类所在的文件中声明。
类声明中缺少分号。也可以将不同的.h .cpp文件中的所有类分开,这样可以避免在不需要的情况下包含不需要的代码。同样在继承的情况下,确保你的析构函数是虚拟的,否则会产生内存泄漏。
此外,重构的构造函数不公开使其公开。
类定义应以分号(“;”)结尾。你在实际的代码中使用了分号吗? (你没有在你的例子中使用它)。 – mfontanini 2012-04-19 18:53:35
你可以发布错误,我的意思是你粘贴的可能是因为在类定义的末尾没有终止';'但我很难猜测。 – EdChum 2012-04-19 18:53:46
我已经放了分号,仍然有错误。 – 2012-04-19 18:55:14