#include <iostream>
using namespace std;

struct A
{
	A()
	{
		cout << "A()" << endl;
	}
	
	A(int x)
	{
		cout << "A(int)" << endl;
	}
	
	A& operator=(int x)
	{
		cout << "A::operator=" << endl;
	}
};

struct B
{
	B() { a = 10; }
	A a;
};

struct C
{
	C() : a(10) {};
	A a;
};

int main()
{
	cout << "B" << endl;
	B b;
	cout << "C" << endl;
	C c;
	return 0;
}