Sphere: Related Content
#include <iostream>
using namespace std;
class Singleton
{
public:
static Singleton* Instance();
int printMessage() {cout << "hi......\n";}
protected:
Singleton();
Singleton(const Singleton&) {cout << "calling copy constructor\n";}
Singleton& operator= (const Singleton&);
private:
static Singleton* pinstance;
};
Singleton* Singleton::pinstance = 0;// initialize pointer
Singleton* Singleton::Instance ()
{
if (pinstance == 0) // is it the first call?
{
pinstance = new Singleton; // create sole instance
}
return pinstance; // address of sole instance
}
Singleton::Singleton()
{
//... perform necessary instance initializations
cout << "Calling Protected Constructor" << endl;
}
int main()
{
Singleton *p1 = Singleton::Instance();
cout << "printing p1 --->" << p1 << endl;
p1->printMessage();
Singleton *p2 = p1->Instance();
cout << "printing p2 --->"<< p2 << endl;
p2->printMessage();
Singleton *p3(p2);
cout << "printing p3 --->" << p3 << endl;
p3->printMessage();
Singleton & ref = * Singleton::Instance();
return 0;
}
The Lonely House Republican Still Coming to Work During the Shutdown
-
Representative Kevin Kiley of California has criticized his own party for
keeping the House out of session during the shutdown. He is battling
boredom and ...
45 minutes ago
No comments:
Post a Comment