C++ Error: identifier 'class name' is undefined
C++ Error: identifier 'class name' is undefined
我刚开始在 C++ 中使用 classes。作为第一个 object-oriented 项目,我想为笔和纸游戏编写角色创建程序。
我创建了包含继承的 class 结构。
这是一个例子class:
#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;
}
如果不是很明显,它们是两个不同的files/Items。我认为这不重要,但它们也在两个不同的文件夹中。
问题是我收到错误消息 "Error: identifier "FighterDwarf" 未定义。
这很可能是初学者的错误。我想我必须以某种方式在主文件中声明 "FighterDwarf",然后才能创建 class 的实例。如果是这种情况,我不知道如何用 classes 做到这一点。
顺便说一句,我知道有很多人不喜欢多重继承,但我选择使用 C++ 而不是 Java 因为这个特性。
已解决:
如果我想在单个文件中执行所有操作,我需要在 header 中执行。我会的,因为一些 classes 有更多的代码,我现在不想重写。此外,我发现使用一个文件比使用两个文件更容易,至少在开始时我有更重要的事情要考虑。但在我的下一个程序中,我会将 classes 分成两部分。顺便说一下,为什么拆分 class 如此重要?使用一个 class 不是更容易吗?
与class无关。您的 main.cpp 文件只需要 #include 头文件 声明 and/or 定义您的 FighterDwarf class.
我刚开始在 C++ 中使用 classes。作为第一个 object-oriented 项目,我想为笔和纸游戏编写角色创建程序。
我创建了包含继承的 class 结构。
这是一个例子class:
#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;
}
如果不是很明显,它们是两个不同的files/Items。我认为这不重要,但它们也在两个不同的文件夹中。
问题是我收到错误消息 "Error: identifier "FighterDwarf" 未定义。
这很可能是初学者的错误。我想我必须以某种方式在主文件中声明 "FighterDwarf",然后才能创建 class 的实例。如果是这种情况,我不知道如何用 classes 做到这一点。
顺便说一句,我知道有很多人不喜欢多重继承,但我选择使用 C++ 而不是 Java 因为这个特性。
已解决: 如果我想在单个文件中执行所有操作,我需要在 header 中执行。我会的,因为一些 classes 有更多的代码,我现在不想重写。此外,我发现使用一个文件比使用两个文件更容易,至少在开始时我有更重要的事情要考虑。但在我的下一个程序中,我会将 classes 分成两部分。顺便说一下,为什么拆分 class 如此重要?使用一个 class 不是更容易吗?
与class无关。您的 main.cpp 文件只需要 #include 头文件 声明 and/or 定义您的 FighterDwarf class.