#include <iostream>
using namespace std;

template <typename T>
class Singleton
{
public:
	static T& Get() noexcept
	{
		static T instance;
		return instance;
	};

protected:
	Singleton() = default;
};

class Foo : public Singleton<Foo>
{
public:
	int t = 0;
};

int main() {
	
	Foo foo;
	Foo::Get().t += 10;
	
	return 0;
}