首页 > 解决方案 > C++ 基本单例设计模式

问题描述

我正在尝试整理并理解 C++ 中的 Singleton 设计模式。出于某种原因,我收到错误消息。也许有人可以帮助并解释正在发生的事情。

#include <iostream>
#include <string>

class Car{
  public:
    static Car* getInstance(){
      instance = new Car;
      return instance;
    }
  private:
    Car(){
      std::cout<<"we made car object\n";
    }
    Car(const Car&);
    static Car *instance;
};

int main(){
  Car test;
  return 0;
}

因此,当我尝试编译此代码时,尝试在主类中创建 Car 对象时出现错误:错误:'Car ::Car()' 在此上下文中是私有的。

我正在使用 g++ -std=c++14 进行编译

标签: c++singleton

解决方案


推荐阅读