纯虚函数、工厂模式

一、纯虚函数的格式

  virtual 返回值 函数名(参数列表)= 0 ;

1、纯虚函数可以不去实现,一般人也没必要去实现。

2、父类中如果有纯虚函数,那么继承该父类的子类必须对其进行覆盖,否则无法创建对象。

3、有纯虚函数的类不能创建对象。

4、纯虚函数就是为了强制子类去覆盖,为了强制子类实现某些功能。

5、有纯虚函数的类都称为抽象类。

6、析构函数可以设置为纯虚函数,但是必须在类外定义

二、纯抽象类

        所有的成员函数都是纯虚函数的类,称为纯抽象类,这种类一般用于设置功能接口,所以也称为接口类,不实现功能。

三、工厂模式

        工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离

        工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。

        通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象,这样可以提高代码的可维护性和可扩展性。

#include <iostream>
using namespace std;
enum Cars
{
	cBenz,cAudi
};

class Car
{
public:
	virtual void Make(void) = 0;

};

class Benz:public Car
{
public:
	void Make(void)
	{
		cout<<"Benz"<<endl;
	}
};

class Audi:public Car
{
public:
	void Make(void)
	{
		cout<<"Audi"<<endl;
	}
};

Car* create_car(Cars car)
{
	switch(car)
	{
		case cBenz:return new Benz;
		case cAudi:return new Audi;
	}
}

int main(int argc,const char* argv[])
{
	Car* car = create_car(cBenz);
	car->Make();
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值