定义一个动物类,期中有一个方法为run(),方法内容输出为“动物在跑”;再定义一个鸭子类,继承动物类,并且重写方法run,方法内容输出为“两只脚跑”;再定义一个猫类,继承动物类,并且重写run方法,方法内容输出为“四只脚跑”;然后再定义一个包含主函数的类,并在主函数中实例化两个子类,并赋值给动物类,输出run方法,体会继承和方法重写实现的多态性。
这不是Java的三大特性吗,你这个案例不是很简单嘛,就算百度都有一大堆,我建议你自己去写写
#include <iostream>
using namespace std;
class Animal
{
public:
virtual void run() ;
};
void Animal::run()
{cout << "动物在跑" << endl;}
class Duck:public Animal
{
public:
void run() override;
};
void Duck::run()
{cout << "两只脚跑" << endl;}
class Cat:public Animal
{
public:
void run() override;
};
void Cat::run()
{cout << "四只脚跑" << endl;}
int main()
{
Animal* ani1 = new Duck();
ani1->run();
Animal* ani2 = new Cat();
ani2->run();
return 0;
}
供你参考,望采纳