Не рекомендуется вызывать конструкторы в функциях-членах, поскольку он создает объекты каждого производного класса.

онимание цепочки конструктора состоит в том, что когда в классе более одного конструктора (перегруженные конструкторы), если один из них пытается вызвать другой конструктор, то этот процесс называется CONSTRUCTOR CHAINING, который не поддерживается в C ++. Недавно я натолкнулся на этот абзац, читая онлайн-материалы .... Это выглядит так ...

Вы можете оказаться в ситуации, когда вы хотите написать функцию-член для повторной инициализации класса обратно к значениям по умолчанию. Поскольку у вас, вероятно, уже есть конструктор, который делает это, у вас может возникнуть соблазн попытаться вызвать конструктор из вашей функции-члена. Как уже упоминалось, вызовы конструктора цепочки недопустимы в C ++. Вы можете скопировать код из конструктора в вашей функции, который будет работать, но приведет к дублированию кода. Лучшее решение в этом случае - переместить код из конструктора в вашу новую функцию, и пусть конструктор вызовет вашу функцию, чтобы выполнить инициализацию данных.

Подлежит ли функция-член, вызывающая конструктор, цепочке конструктора ?? Пожалуйста, пролите свет на эту тему в C ++.

Ответы на вопрос(1)

Ваш ответ на вопрос