只有一个实例的对象怎么封装是好

只有一个实例的对象如何封装是好?是做成类,然后开一个全局实例 (感觉不太舒服)还是放在一个文件的全局变量

只有一个实例的对象如何封装是好?
是做成类,然后开一个全局实例 (感觉不太舒服)
还是放在一个文件的全局变量好?
还是放在namespace里面?

大家怎么看?

[解决办法]
Singleton
[解决办法]
楼主搜下 单件模式
[解决办法]

C/C++ code
#include <iostream>class Singleton{public:    Singleton();    virtual ~Singleton();    static Singleton *GetInstance() { return &m_instance; }    void output() {std::cout<< "This is a singleton class." << std::endl;}private:    static Singleton m_instance;    };Singleton Singleton::m_instance;Singleton::Singleton(){}Singleton::~Singleton(){    }int main(int argc, char *argv[]){    Singleton::GetInstance()->output();    return 0;}