F
Furtano
Gast
Vererbung mehrere Klassen und ein Vector
Hallo,
ich möchte die Super-Klasse Breed haben, von der einige Klassen wie z.B. Egg abgeleitet werden.
jetzt packe ich ein / mehrere Objekte der abgeleiteten Klasse in ein Breed Vector.
Leider geht der Zugriff hier nicht, weil statusOfAnt angeblich kein Member von Breed ist.
Wie behebe ich das?
Ich möchte nicht für jede Abgeleitete Klasse einen eigenen Vector sondern alle abgeleiteten Klassen-Objekte ins Breed Array schieben und auswerten.
siehe hier:
Globals.h
Breed.h
Egg.h
Danke !
Hallo,
ich möchte die Super-Klasse Breed haben, von der einige Klassen wie z.B. Egg abgeleitet werden.
jetzt packe ich ein / mehrere Objekte der abgeleiteten Klasse in ein Breed Vector.
PHP:
std::vector <Breed> breed;
....
if (days % 3){
Egg egg;
egg.days = 0;
egg.lifeStatus = true;
breed.push_back(egg);
}
Leider geht der Zugriff hier nicht, weil statusOfAnt angeblich kein Member von Breed ist.
Wie behebe ich das?
Ich möchte nicht für jede Abgeleitete Klasse einen eigenen Vector sondern alle abgeleiteten Klassen-Objekte ins Breed Array schieben und auswerten.
siehe hier:
PHP:
for (Breed ant : breed){
if(ant.statusOfAnt == status_EGG)
}
Globals.h
PHP:
enum statusOfAnt {status_EGG,status_GRUB, status_PUPPET, status_IMAGO, status_ANT};
Breed.h
PHP:
#ifndef BREED
#define BREED
#include "Globals.h"
class Breed {
public:
statusOfAnt status;
int days;
int endDate;
int food;
// 0 == Dead, 1 == Alive
bool lifeStatus;
};
#endif
Egg.h
PHP:
#ifndef EGG
#define EGG
#include "Breed.h"
class Egg : public Breed {
public:
Egg (){
status = status_EGG;
days = 0;
endDate = 14;
food = 10;
lifeStatus = 0;
}
//this.status = status_PUPPET;
};
#endif
Danke !
Zuletzt bearbeitet von einem Moderator: