【发布时间】:2012-07-26 13:49:49
【问题描述】:
我正在以first answer here. 中描述的方式实现单例,getInstance() 方法返回一个引用,但我不确定我应该如何创建我的新实例并在创建它之前检查它是否已经存在退货。
class Song {
private:
Song song;
Song();
Song(Song const&); // don't implement
void operator = (Song const&); //don't implement
public:
static Song &getInstance();
}
那么我的getInstance(); 实现应该是什么样的?如果歌曲成员对象已经存在,我想返回它,否则创建它然后返回它。我知道我添加的链接中有一个 n 实现,但我不确定它是否符合我的要求,而且我不太了解它。
另外,有人可以解释这两行的用途以及为什么 = 运算符被覆盖吗?
Song(Song const&); // don't implement
void operator = (Song const&); //don't implement
【问题讨论】:
-
isn't first answer there 已经提供了 getInstance 的实现并回答了为什么将复制构造函数和赋值声明为私有?