標籤:
#include <iostream>#include <string>using namespace std;class Pet{public: Pet(string theName); void eat(); void sleep(); virtual void play();protected: string name;};class Cat : public Pet{public : Cat(string theName); void climb(); void play();};class Dog : public Pet{public: Dog(string theName); void bark(); void play();};Pet::Pet(string theName){ name = theName;}void Pet::eat(){ cout << name << "[正在吃東西]" << endl;}void Pet::sleep(){ cout << name << "[正在睡大覺]" << endl;}void Pet::play(){ cout << name << "[正在玩]" << endl;}Cat::Cat(string theName) : Pet(theName){}void Cat::climb(){ cout << name << "[正在爬樹]" << endl;}void Cat::play(){ Pet::play(); cout << name << "[玩毛線球]" << endl;}Dog::Dog(string theName) : Pet(theName){}void Dog::bark(){ cout << name << "[旺 旺 旺]" << endl;}void Dog::play(){ Pet::play(); cout << name << "[正在追趕那隻貓]" << endl;}int main(){ int *p = new int; *p = 100; cout << *p << endl; delete p; Pet *cat = new Cat("加菲"); Pet *dog = new Dog("歐迪"); cat->sleep(); cat->eat(); cat->play(); dog->sleep(); dog->eat(); dog->play(); delete dog; delete cat; return 0;}
c++ 虛方法