struct X { int i; X(int); operator+(int); };
struct Y { int i; Y(X); operator+(X); operator int(); };
extern X operator*(X,Y); extern int f(X);
X x = 1; Y y = x; int i = 2;
int main() { i + 10; y + 10; y + 10 * y; x + y + i; x * X +i; f(7); f(y); y + y; 106 + y; }
Определите X и Y как целые типы. Измените программу так, чтобы ее можно было выполнить и она напечатала значения всех правильных выражений.