我刚刚开始在C ++中使用类。作为第一个面向对象的项目,我想为Pen and Paper游戏编写角色创建者。
我创建了包含继承的类结构。
这是一个示例类:
#include "Characters.cpp"
#include "Fighter.cpp"
#include "Dwarf.cpp"
class FighterDwarf : public Characters, public Fighter, public Dwarf {
public:
string test = "Hello, I am a fighter dwarf!";
void testPrint() {
cout << test << endl;
}
FighterDwarf() {
}
};
主要是:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
FighterDwarf fighterDwarf;
fighterDwarf.testPrint();
return 0;
}
如果不明显,则它们位于两个不同的文件/项目中。我不认为它很重要,但它们也在两个不同的文件夹中。
问题是我收到错误消息&#34;错误:标识符&#34; FighterDwarf&#34;未定义。
这很可能是初学者的错误。我猜我必须以某种方式宣布&#34; FighterDwarf&#34;在我可以创建类的实例之前的主文件中。如果是这种情况,我不知道怎么用课程。
按照他们的方式,我知道有很多人不喜欢多重继承,但我选择使用C ++而不是Java,因为这个特性。
解决: 如果我想在单个文件中执行所有操作,我需要在标题中执行此操作。我会这样做,因为有些课程有更多代码,我现在不想重写。此外,我发现使用一个文件而不是两个文件更容易拖动工作,至少在开始时我需要考虑更重要的事情。但是我会在下一个课程中将课程分成两部分。顺便说一下,为什么分组课程如此重要?使用一个班级更容易吗?
答案 0 :(得分:2)
它与课程无关。你的main.cpp文件只需要 #include头文件,它声明和/或定义你的FighterDwarf类。