?? vc0902.cpp
字號:
//Example 9.2:虛函數實現多態性
#include <iostream.h>
class Pet //基類
{
public:
virtual void Speak()
{ cout<<"How does a pet speak ?"<<endl; }
};
class Cat : public Pet //派生類
{
public:
virtual void Speak()
{ cout<<"miao!miao!"<<endl; }
};
class Dog : public Pet //派生類
{
public:
virtual 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();
delete p2;
delete p3;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -