C++设计模式——原型模式实践
原型模式(Prototype Pattern)是一种创建型设计模式,它通过复制现有对象的实例来创建新的对象实例。该模式在处理大量具有相似或相同状态的对象时非常有用,因为它可以避免昂贵的初始化操作。
在C++中使用原型模式,我们需要先实现一个基类,然后通过继承该类来创建其他类。这些子类都具有父类的所有属性和方法,并且可以根据需要进行修改和扩展。
下面是一个使用原型模式创建汽车对象的示例代码:
#include <iostream>
#include <string>
using namespace std;
// 抽象基类,定义接口
class CarPrototype {
public:
virtual CarPrototype* clone() = 0; // 复制自身的接口
virtual void showInfo() = 0; // 展示车辆信息的接口
};
// 具体实现类,对应不同类型汽车
class SUV : public CarPrototype {
public:
CarPrototype* clone() {
return new SUV(*this);
}
void showInfo() {
cout << "SUV: 宽体高顶,适合越野和家庭出行" <<