Как в конструкторе класса инициализировать поле класса, являющееся объектом и созданное на стеке?

Как в конструкторе класса инициализировать поле класса, являющееся объектом класса и созданное на стеке? Следующий код вызывает ошибку.

  class A{
    public:
        A(int x, int y){
            this->x = x;
            this->y = y;
        };
    private:
        int x;
        int y;
    };
    
    class B{
    public:
        B(int x, int y){
            A(x, y);
        };
    private:
        A obj;
    };

Ответы (1 шт):

Автор решения: Harry
class B{
public:
    B(int x, int y):obj(x, y)
    {
    };
private:
    A obj;
};

Да, кстати, и конструктор A лучше переписать как

A(int x, int y):x(x),y(y){}
→ Ссылка