#include #include #include using namespace std; class Animal { public: string name; Animal (const std::string& givenName) : name(givenName) { } string speak () { return ""; } }; class Dog: public Animal { public: Dog (const std::string& givenName) : Animal (givenName) { } string speak () { return "Woof, woof!"; } }; class Cat: public Animal { public: Cat (const std::string& givenName) : Animal (givenName) { } string speak () { return "Meow..."; } }; int main() { std::vector> animals; animals.push_back( new Dog("Skip") ); animals.push_back( new Cat("Snowball") ); for( int i = 0; i< animals.size(); ++i ) { cout << animals[i]->name << " says: " << animals[i]->speak() << endl; } }