假设我们有一个类
class Egg
{
static Egg e;
int i;
Egg(int ii):i(ii) {}
Egg(const Egg &); //Prevents copy-constructor to be called
public:
static Egg* instance() {return &e}
};
Egg Egg::e(47);
这段代码保证我们不能创建任何对象,而只能使用静态对象。但是我们如何在类中声明同一个类的静态对象。
还有一件事,因为e是一个静态对象,而静态对象只能调用静态成员函数,那么这里怎么会调用静态对象e的构造函数,它的构造函数也是私有的。