声明一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都定义Speak()成员函数,基类中定义为虚函数,声明类Dog的一个对象,调用函数Speak()

 #include
#include
class Mammal
{
protected:
 char name[10];
public:
 virtual void set()
 {
  strcpy(name,"哈哈");
 
 }
 virtual void speak()
 {
  cout<<"这是哺乳动物"<  }
};
class Dog:public Mammal
{
public:
 void set()
 {
       strcpy(name,"哈哈");
 }
 void speak()
 {
  cout<<"这是哺乳动物:狗"<  
 }
};
void fun(Mammal &s)
{
   s.speak();
}
void main()
{
 Mammal m1;
 Dog d2;
 fun(m1);
 fun(d2);
}

你可能感兴趣的:(声明一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都定义Speak()成员函数,基类中定义为虚函数,声明类Dog的一个对象,调用函数Speak())