#include <iostream>

class TestUBClass
{
public:
	TestUBClass()
	{
		std::cout << "TestUBClass()" << std::endl;
	}
	TestUBClass(const TestUBClass& other)
	{
		std::cout << "TestUBClass(const TestUBClass& other)" << std::endl;
	}
	TestUBClass(TestUBClass&& other)
	{
		std::cout << "TestUBClass(TestUBClass&& other)" << std::endl;
	}
	TestUBClass& operator=(const TestUBClass& other)
	{
		std::cout << "TestUBClass& operator=(const TestUBClass& other)" << std::endl;
	}
	TestUBClass& operator=(TestUBClass&& other)
	{
		std::cout << "TestUBClass& operator=(TestUBClass&& other)" << std::endl;
	}
	~TestUBClass()
	{
		std::cout << "~TestUBClass()" << std::endl;
	}
};

void testUBFunc()
{
	TestUBClass obj;
	delete &obj;
}

int main() {
	testUBFunc();
	return 0;
}