#include <iostream>
#include <locale>
class MySingleton {
private:
MySingleton() {
}
public:
static MySingleton& get_instance() {
static MySingleton instance;
return instance;
}
int singleton_pow(int num, int degree) {
return pow(num, degree);
}
int i = 10;
};
std::ostream& operator<<(std::ostream& strm, const MySingleton& sing) {
strm << sing.i;
return strm;
}
void f(int i) { std::cout << i << std::endl; }
int main() {
setlocale(LC_ALL, "RU");
int a = MySingleton::get_instance().singleton_pow(5,2);
std::cout << a << std::endl;
MySingleton& (*f2)() = MySingleton::get_instance;
std::cout << f2().singleton_pow(5,2) << std::endl;
std::cout << f2 << std::endl;
return 0;
}