cpp虚函数、纯需函数样例

//============================================================================
// Name        : prac0908virtualFunction.cpp
// Author      : perfey
// Version     :
// Copyright   : Your copyright notice
// Description : practice virtual function and pure virtual function
//============================================================================

#include <iostream>
using namespace std;
//virtual function的实质就是用基类调用子类,在运行时再关联调用?
//存虚是基类为接口,子类必须实现基类;; 好比 动物》鸡鸭; 鸡》山鸡(一个是抽象概念无实体,一个既有抽象也代表某种
//常识的实体)
class chicken
{
public :
	virtual void say()
	{
		cout << "咯咯咯! basic class"<<endl;
	}
};

class farm: public chicken
{
public:
	virtual void say()
	{
		cout <<" Mountion chicken:咯咯咯 咯咯咯!"<<endl;
	}
};

class animal
{
public:
	virtual void say() = 0; //纯需函数,animal只是一个接口,没有实体。没有什么物种叫,动物,只是抽象概念。
};

class smallChicken: public animal
{
public:
	virtual void say()
	{
		cout << " 纯虚函数接口造出的类 :: 在叫"<<endl;
	}
};
int main() {
	chicken *c = new farm();//基类调用了子类方法
	c->say();
	chicken *c2 = new chicken(); //基类直接用了自己的方法
	c2->say();

   animal *a = new smallChicken();//利用接口调用子类,可以生成丰富特性。比如孙悟空72变,同一个接口分别调用鸡鸭鱼子类
   a -> say();

	return 0;
}

results:

Mountion chicken:咯咯咯 咯咯咯!
咯咯咯! basic class
纯虚函数接口造出的类 :: 在叫

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值