小练习

依旧是某课程后面的习题

#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

/**
 *  定义动物类:Animal
 *  成员函数:eat()、move()
 */
class Animal
{
public:
    // 构造函数
    Animal(){cout << "Animal" << endl;}
    // 析构函数
    virtual ~Animal(){cout << "~Animal" << endl;}
    // 成员函数eat()
    virtual void eat(){cout << "Animal -- eat" << endl;}
    // 成员函数move()
    virtual void move(){cout << "Animal -- move" << endl;}
};

/**
 * 定义狗类:Dog
 * 此类公有继承动物类
 * 成员函数:父类中的成员函数
 */
class Dog : public Animal
{
public:
    // 构造函数
    Dog(){cout << "Dog" << endl;}
    // 析构函数
    virtual ~Dog(){cout << "~Dog" << endl;}
    // 成员函数eat()
    virtual void eat(){cout << "Dog -- eat" << endl;}
    // 成员函数move()
    virtual void move(){cout << "Dog -- move" << endl;}
};

int main(void)
{
    // 通过父类对象实例化狗类
    Animal *p = new Dog;
    // 调用成员函数
    p->eat();
    p->move();
    // 释放内存
    delete p;
    p = NULL;

    return 0;
}

猜你喜欢

转载自blog.csdn.net/sinat_39028599/article/details/74157880