[英]C++ Error: identifier 'class name' is undefined
我刚刚开始在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;
}
如果不太明显,它们位于两个不同的文件/项目中。 我认为这并不重要,但它们也位于两个不同的文件夹中。
问题是我收到错误消息“错误:标识符“ FighterDwarf”未定义。
这很可能是初学者的错误。 我猜想我必须以某种方式在主文件中声明“ FighterDwarf”,然后才能创建该类的实例。 如果是这种情况,我不知道该如何使用类。
顺便说一句,我知道有很多人不喜欢多重继承,但是由于这个功能,我选择使用C ++而不是Java。
解决:如果我想在一个文件中完成所有操作,则需要在标题中执行。 我会的,因为有些类还有更多我现在不想重写的代码。 此外,我发现使用一个文件比使用两个文件更容易,至少在起初我要记住的是重要的事情。 但是我将在下一个程序中将这些类分为两个类。 顺便说一句,为什么分类很重要? 上一堂课不是容易吗?
它与类无关。 您的main.cpp文件只需要#include头文件 ,即可声明和/或定义FighterDwarf类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.