vc0901.cpp

来自「VC面向对象的学习教程」· C++ 代码 · 共 39 行

CPP
39
字号
//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 + =
减小字号Ctrl + -
显示快捷键?