gpt4 book ai didi

c++ - "Base class undefined."

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:49 25 4
gpt4 key购买 nike

我有一个错误:

error C2504: 'employee' : base class undefined.

我使用的是 Visual Studio 2010。

这是我第一次在 C++ 中使用继承,我不知道自己做错了什么。当我尝试创建一个派生另一个类时,它说父类未定义,即使我包含了父类的头文件。可能是什么问题?

主要.cpp:

#include <string>
#include <iostream>
using namespace std;

#include "manager.h"

int main()
{
manager ian;
ian.getdata();
ian.putdata();

return 0;
}

经理.h:

#pragma once
#include "employee2.h"
#include "student.h"

class manager : private employee2, private student //Error happens here
{
//Stuff
};

学生.h:

#pragma once
class student
{
//Stuff
};

员工2.h:

#pragma once
#include "employee.h"
class employee2 : employee
{
//Stuff
};

上面写着student类和employee2类都是未定义的。此外,employee2 类继承了一个名为 employee 的类,该类也出现相同的错误。我做错了什么?

编辑:这是我的 student.cpp 文件。我遇到错误的所有其他 .cpp 文件看起来与这个文件相似。

#include "student.h"

void student::getedu(){
cout << "Enter name of school or university: ";
cin >> school;
cout << "Enter highest degree earned \n";
cout << "(Highschool, Bachelor's Master's, PhD)";
cin >> degree;
}

void student::putedu() const{
cout << "\n School or university: " << school;
cout << "\n Highest degree earned: " << degree;
}

最佳答案

根据您显示的代码,我认为您不会得到“x 未定义”。实际上,您似乎使用了错误的 #include

#include employee.h

应该是

#include "employee.h"

除此之外,除了您提到的缺少 employee 类,并且 manager 没有 getdata 和“putdata 在您的示例中,您的代码可以正常编译。

关于c++ - "Base class undefined.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com