using namespace std;
struct Node{
int x;
int y;
};
// int * Node 时调用, 返回Node类型, Node = int * Node
Node operator * (int a, Node b){
Node r;
r.x = a * b.x;
r.y = a * b.y;
return r;
}
// int + Node 时调用, 返回Node类型, Node = int + Node
Node operator + (int a, Node b){
Node r;
r.x = a + b.x;
r.y = a + b.y;
return r;
}
// 相当于 ostream << a 时调用, 返回的是 ostream的引用类型。
// ((cout << a) << b) << endl;
ostream & operator << (ostream& o, Node a){
o << "x:" << a.x << " y:" << a.y << endl;
return o;
}
int main() {
Node k, m;
k.x = 1;
k.y = 2;
m = 3 * k;
cout << m;
return 0;
}