#include<stdio.h>
#include<stdlib.h>
class Point
{
public:
int x;
int y;
public:
Point() {
}
Point(int a, int b) {
x = a;
y = b;
}
};
class Logger
{
public:
Logger()
{
}
Logger& operator <<(int value)
{
printf("%d", value);
return *this;
}
Logger& operator << (double value)
{
printf("%lf", value);
return *this;
}
Logger& operator << (const char* value)
{
printf("%s", value);
return *this;
}
Logger& operator << (Point& value)
{
printf("%d,%d", value.x,value.y);
return *this;
}
};
int main()
{
Logger lg;
Point p(1, 2);
lg << p;
}