【发布时间】:2013-07-22 23:28:07
【问题描述】:
我是 C++ 新手,并试图了解 C++ 中的单例模式。
myclass.h
#ifndef MYCLASS_H
#define MYCLASS_H
class Myclass {
public:
static Myclass* getInstance();
private:
Myclass(){}
Myclass(Myclass const&){}
Myclass& operator=(Myclass const&){}
static Myclass* m_instance;
};
#endif // MYCLASS_H
myclass.cpp
#include "myclass.h"
Myclass* Myclass::getInstance() {
if (!m_instance) {
m_instance = new Myclass;
}
return m_instance;
}
编译器无法编译。在m_instance 的所有 3 行中,我收到以下错误:
错误:未定义对 `Myclass::m_instance' 的引用
【问题讨论】:
-
其实还有一个更好的方法来实现Singleton。检查this。
标签: c++ qt compiler-construction singleton