#include <iostream>

using namespace std;

class
{
public:
	auto operator + () -> decltype(*this)
	{
		cout << "Unary plus\n";
		return *this;
	}
	
	static void do_smth()
	{
		cout << "Static method\n";
	}
	
	void test(auto obj)
	{
		cout << "Argument\n";
	}
} smth;

int main()
{
	+smth;
	decltype(smth) b;
	+b;
	decltype(b)::do_smth();
	smth.test(b);
	
	return 0;
}