一. 简单工厂模式:定义一个用于创建对象的接口。
纯虚函数和抽象类
1、纯虚函数: 在函数原型后面加上符号 “=0”
1)纯虚函数是一个在基类中只有声明的虚函数,在基类中无定义。要求在任何派生类中都定义自己的版本;
2)纯虚函数为各派生类提供一个公共界面(接口的封装和设计,软件的模块功能划分);
2、抽象类:包含纯虚函数的类成为抽象类,用于为派生类提供一个基本框架和一个公共的对外接口,派生类(或派生类的派生类…),应对抽象基类的所有纯虚成员函数进行实现。
a)抽象类对象不能做函数参数,不能创建对象,不能作为函数返回类型;
b)可以声明抽象类指针,可以声明抽象类的引用;
c)子类必须继承父类的纯虚函数才能创建对象。
1 C++没有接口的概念,可以使用纯虚函数实现接口,接口类中只有函数原型的定义,没有任何数据的定义。
2 实际表明: 多继承接口不会带来二义性和复杂性等问题;多重继承可以通过设计好的单继承和接口代替;接口类只是一个功能说明,不是功能实现;子类需要根据功能说明定义功能的实现。
3 多继承—->单继承+继承多个接口



