エラーが発生しました:
エラーC2504:'従業員':基本クラスが定義されていません。
VisualStudio2010を使用しています。
C ++で継承を使用するのはこれが初めてであり、何が間違っているのか理解できません。別のクラスを派生させるクラスを作成しようとすると、親クラスのヘッダーファイルが含まれていても、親クラスが未定義であると表示されます。何が問題なのですか?
Main.cpp:
#include <string>
#include <iostream>
using namespace std;
#include "manager.h"
int main()
{
manager ian;
ian.getdata();
ian.putdata();
return 0;
}
Manager.h:
#pragma once
#include "employee2.h"
#include "student.h"
class manager : private employee2, private student //Error happens here
{
//Stuff
};
Student.h:
#pragma once
class student
{
//Stuff
};
Employee2.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;
}