#include <iostream>
using namespace std;
struct IText {
virtual string ToText() = 0;
};
struct Point : IText {
int x, y;
Point(int x, int y) {
this->x = x;
this->y = y;
};
virtual string ToText() {
return "x = " + to_string(x) +
"; y = " + to_string(y);
};
};
Point p = Point(2, 3);
string str = p.ToText();
//str is "x = 1; y = 2"
cout << "str: " << str;