Ich habe einen Fehler bekommt:"Basisklasse undefiniert."
error C2504: 'employee' : base class undefined.
Ich bin 2010.
Visual Studio Dies ist mein erstes Mal der Arbeit mit Vererbung in C++ und ich kann nicht herausfinden, was ich tue falsch. Wenn ich versuche, eine Klasse zu erstellen, die eine andere ableitet, heißt das, dass die Elternklasse nicht definiert ist, obwohl ich die Header-Datei der Elternklasse eingeschlossen habe. Was könnte das Problem sein?
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
};
Es besagt, dass sowohl die Student-Klasse als auch die Klasse employee2 nicht definiert sind. Außerdem erbt die Klasse employee2 eine Klasse namens employee, die ebenfalls denselben Fehler erhält. Was mache ich falsch?
EDIT: Hier ist meine student.cpp Datei. Alle anderen CPP-Dateien, mit denen ich Fehler erhalte, sehen ähnlich aus.
Zeigen Sie bitte die vollständigen Fehlermeldungen an. –
1) Ich würde nicht "private" Vererbung verwenden, es sei denn, Sie waren wirklich, wirklich sicher, das ist, was Sie wollten. Bitte ändern Sie beide Unterklassen: 'class manager: public employee2, public student' und' class employee2: public employee' 2) Verliere die "#pragma once". Stellvertreter '#ifdef angestellter2_h ...' usw. – paulsm4
Wo ist 'klassenangestellter'? ... Ich sehe einen' angestellter2' ... kein 'angestellter' ... Zeigen' mitarbeiter.h'? – Marlon