1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| #include <iostream> #include <string> using namespace std;
class Animal { public: virtual void makeSound() const = 0;
void eat() const { cout << "This animal is eating." << endl; }
virtual ~Animal() {} };
class Dog : public Animal { public: void makeSound() const { cout << "汪汪!" << endl; } };
class Cat : public Animal { public: void makeSound() const override { cout << "喵喵!" << endl; } };
int main() { Animal *dog = new Dog(); Animal *cat = new Cat();
dog->makeSound(); cat->makeSound();
dog->eat(); cat->eat();
delete dog; delete cat;
return 0; }
|