Image

Imagenanobot wrote in Imagecpp

Total newbie C++ question

Hey everyone,

Got a quick question, I'm confused as to why I can't run the speak method of my derived classes. How do I make the derived classes not look at Base?

Thanks for any input!




-------------------
class Base
{
public:

Base();
virtual void sleep() = 0;
virtual ~Base();

};
-------------------
#include "Base.h"

class Cat : public Base
{
public:
Cat();
void sleep();
void speak();
};
--------------------
#include "Base.h"
class Dog : public Base
{
public:
Dog();
void sleep();
void speak();
};
---------------------
using namespace std;

#include "Base.h"
#include "Cat.h"
#include "Dog.h"

int main()
{

Base *c[5] = {};

Cat cPtr = Cat();
Dog dPtr = Dog();

c[0] = &cPtr;
c[1] = &dPtr;


c[0]->speak();
c[1]->speak();

}