On executing below code, it prints "none" two times but printing different address every time, even it is declared as static variable.
class singletonDemo {
private:
string text;
static singletonDemo s;
singletonDemo(string t2){ text = t2; }
public:
static singletonDemo getObject() {
return s;
}
void print() {
cout << text << endl;
}
};
singletonDemo singletonDemo::s("none");
int main() {
singletonDemo::getObject().print();
singletonDemo::getObject().print();
cout << "one: "<< &(singletonDemo::getObject()) << endl;
//cout << "print: " << single
cout << "two: " << &(singletonDemo::getObject()) << endl;
cout << "three: " << &(singletonDemo::getObject()) << endl;
system("pause");
}
I'm executing this code in Visual Studio Community 2013. please help!