Можно ли создавать классы, содержащие в качестве данных объекты этого же класса, указатели/ссылки на такие объекты, их массивы?
Например:
class A
{
A x;
A* y;
std::vector v;
};
Ответ
Объекты и массивы — нет, так как на момент объявления класс ещё не создан до конца, а потому неизвестно, сколько места требуется выделить для его экземпляров.
А указатели и ссылки — пожалуйста, ведь факт существования данного класса уже известен.
Комментариев нет:
Отправить комментарий