例9.1派生类对象替换基类对象 p142.txt

来自「学C++的同学是不是遇到麻烦了」· 文本 代码 · 共 44 行

TXT
44
字号
#include  <iostream.h>
class  Pet
{
    public:
         void   Speak(){cout<<"How  does  a  pet  speak?"<<endl;}
};
class    Cat:public   Pet
{
     public:
         void   Speak(){cout<<"miao!  miao!"<<endl;}   
};
class    Dog:public   Pet
{
     public:
         void   Speak(){cout<<"wang! wang!"<<endl;}   
};
void  main()
{
     Pet   *p,   obj;
     Dog    dog1;
     Cat    cat1;

     obj=dog1;
     obj.Speak();
    
     p=&cat1;
     p->Speak();
    
     p=&dog1;
     p->Speak();

     Pet  &p4=cat1;
     p4.Speak();
}





How  does  a  pet  speak?
How  does  a  pet  speak?
How  does  a  pet  speak?
How  does  a  pet  speak?

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?