构造一个类,要使这个类只能声明一个对象。
class Egg
{
static Egg e;
int i;
Egg(int ii):i(ii){}
Egg(const Egg&);//禁止复制
pulic:
static Egg* instance(){return &e;}//返回static对象
int val()const {return i;}
}
Egg Egg::e(47);
int main()
{
//! Egg x(1); //Error -- can not create an Egg
cout << Egg::instance()->val() << endl;
}
主要用到名字控制的功能!