我有一个名为LibItem的抽象基类,以及两个名为Book和DVD的继承类。我为每个类制作了.h和.cpp文件。
我现在想在main中使用一些代码来使用这些文件。
目前,我只是在主代码的顶部“包含”.h文件。 这不起作用。
在使用它们之前是否需要编译这些文件?如果是这样,我该怎么做?
更新
这是我的代码:
//---------------------------------------------------------------------------
#ifndef BookH
#define BookH
class Book : public LibItem
{
public:
Book(const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&);
void setISBN(const std::string&);
std::string getISBN();
void PrintDetails();
private:
Book();
std::string ISBN;
};
//---------------------------------------------------------------------------
#endif
我收到以下错误:
[BCC32 Error] Book.h(7): E2303 Type name expected
[BCC32 Error] Book.h(9): E2090 Qualifier 'std' is not a class or namespace name
[BCC32 Error] Book.h(9): E2293 ) expected
[BCC32 Error] Book.h(10): E2090 Qualifier 'std' is not a class or namespace name
我可以帮助解决这些错误吗?
答案 0 :(得分:1)
您必须包含all.h文件,其中包含您要在主文件中使用的声明。此外,您必须将所有.cpp文件添加到project / makefile / etc以进行编译,因为.h文件不是编译单元...