cpp虚函数纯需函数样例

Posted 飞凡可期

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
纯虚函数接口造出的类 :: 在叫

以上是关于cpp虚函数纯需函数样例的主要内容,如果未能解决你的问题,请参考以下文章

cpp虚函数,基类命名指向子类实例必备佳选

cpp虚函数,基类命名指向子类实例必备佳选

c_cpp C中的多态,虚函数和继承

Boost Python官方样例

类的内存结构

对虚函数进行重载是啥意思?