Данный код моей программы: были предоставленыПоходные clases и полиморфизм
class Hive
{
private:
Bee* queen;
Bee* worker;
Bee* drone;
public:
Hive();
void activity();
~Hive();
};
инструкции по кодированию, и я должен добавить код. Мой конструктор, как кодируются, имеет следующую ошибку: «Не удается выделить объект абстрактного типа»
Hive::Hive() //This is where my error is
{
//Create an instance of each derived class
queen = new Queen(1,1) ;
worker = new Worker(1,1) ;
drone = new Drone(1,1) ;
}
void Hive::activity()
{
//Polymorphically call each classes work function
queen->Work() ;
worker->Work() ;
drone->Work() ;
}
Hive::~Hive()
{
//Deal with dynamic memory
delete queen ;
delete worker ;
delete drone ;
}
Мои полученные определения класса являются:
class Drone : Bee /*Indicate that a Drone IS A Bee*/
{
private:
char fertile;
public:
Drone(int lifespan, char fertile);
virtual void work();
};
class Queen : Bee /*indicate that a Queen IS A Bee*/
{
private:
int numBabies;
public:
Queen(int lifespan, int numBabies);
virtual void work();
};
class Worker : Bee /*Indicate that a Worker IS A Bee*/
{
private:
int honeyMade;
public:
Worker(int lifespan, int honeyMade);
virtual void work();
};
Надеюсь, я не делал дополнительных ошибок.
предоставить код, который может быть непосредственно проверено. в настоящее время у вас есть куча фрагментов. –
Ошибка также сообщит вам ТОЧНО, что вы сделали неправильно, указав на функцию из класса, который вы здесь опущены (Bee), который имеет чистую виртуальную функцию и, следовательно, должен быть повторно реализован во всех классах. –
Я понимаю. Я предоставлю всю программу. Спасибо, ребята – Morris