单例模式:通过函数重载提供不同参数的单例实例。工厂模式:通过函数重写创建不同类型的对象,实现创建过程与具体产品类的解耦。
C++ 中函数重载和重写中单例模式与工厂模式的运用
单例模式
函数重载
单例模式可以通过函数重载来实现,重载后的函数具有不同的参数列表,从而返回不同的实例。
class Singleton { public: static Singleton* getInstance() { if (instance_ == nullptr) { instance_ = new Singleton(); } return instance_; } static Singleton* getInstance(int arg) { if (instance_ == nullptr) { instance_ = new Singleton(arg); } return instance_; } private: Singleton() = default; Singleton(int arg); static Singleton* instance_; };
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。