CPP
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
class Singleton {
public:
static Singleton& instance();
void print() {std::cout << "Singleton print method\n";}
private:
Singleton() { std::cout << "Factory pattern singleton created\n";}
Singleton(const Singleton&) {} //copy constructor
Singleton& operator=(Singleton const&) {} //assignment operator
};
Singleton& Singleton::instance() {
static Singleton singleton;
return singleton;
}
int main() {
Singleton::instance().print();
return 0;
}
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run