📄 vc0901.cpp
字号:
//Example 9.1:派生类对象替换基类对象
#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 *p1, *p2, *p3,obj; //基类对象指针p1, 基类对象obj
Dog dog1;
Cat cat1;
obj = dog1; //用Dog类对象给Pet类对象赋值
obj.Speak();
p1 = &cat1; //用Cat类对象地址给基类指针赋值
p1->Speak();
p1 = &dog1; //用Dog类对象地址给基类指针赋值
p1->Speak();
p2=new Cat; //动态生成Cat类对象
p2->Speak();
p3=new Dog; //动态生成Dog类对象
p3->Speak();
Pet &p4 = cat1; //以Cat类对象初始化Pet类引用
p4 .Speak();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -