fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. class Manar{
  5. private:
  6. static Manar* manora;
  7. Manar(){
  8. cout <<"manar's constructor\n";
  9. }
  10. public:
  11. Manar(const Manar&)=delete;// Delete copy constructor
  12. Manar &operator =(const Manar&)=delete;// Delete assignment operator
  13.  
  14. static Manar* getInstance(){
  15. if(manora == nullptr){
  16. manora = new Manar();
  17. }
  18. return manora;
  19.  
  20. }
  21. void mess(){
  22. cout <<"done \n";
  23. }
  24. ~Manar(){
  25. cout <<"destructor\n";
  26. }
  27. };
  28. Manar* Manar::manora =nullptr;
  29. int main(){
  30. Manar* manora = Manar::getInstance();
  31. manora->mess();
  32. Manar* manora2 =Manar::getInstance();
  33. manora2->mess();
  34. delete manora;
  35. return 0;
  36. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
manar's constructor
done 
done 
destructor