반응형

 

 

main.cpp

#include <iostream>
#include "singleton.h"

int main()
{
	try{
		singleton s = singleton::getInstance();
		std::out << &s << std::endl;
	} catch (const std::runtiime_error& e) {
		std::cerr << e.what() << std::endl;
	}
	
	try {
		singleton r = singleton::getInstance();
		std::out << &r << std::endl;
	} catch (const std::runtime_error& e) {
		std::cerr << e.what() << std::endl;
	}
}

 


singleton.cpp

#include "singleton.h"

singleton& singleton::getInstance()
{
	static Singleton instance;
	return instance;
}

Singletone::Singleton()
{
	throw std::runtime_error("something went wrong");
}



singleton.h

#include <iostream>
#include <stdexcept>

using namespace std;

Class Singleton
{
	private:
		Singleton();

	public:
		static Singleton& getInstance();
}

 

 

반응형