Структуры (записи)

#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(23);
string str = p.ToText();
//str is "x = 1; y = 2"

cout << "str: " << str;