zoukankan      html  css  js  c++  java
  • c++ 虚方法

    #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语言寒假大作战02
    C语言寒假大作战01
    C语言I作业12
    C语言I博客作业11
    C语言I博客作业10
    C语言ll作业01
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
    C语言寒假大作战01
  • 原文地址:https://www.cnblogs.com/i80386/p/4380592.html
Copyright © 2011-2022 走看看