170 похожих чатов

Если я после работы конструктора я должен получить человека с

рукам и ногами, то где как не в конструкторе это делать?

23 ответов

52 просмотра

Можно заранее создать руки и ноги и передать их в конструктор 😏

Anatoly-Shirokov Автор вопроса
Alexander Karaev
Можно заранее создать руки и ноги и передать их в ...

я скажу больше, можно все, все определяет принятый уровень абстракции

Alexander Karaev
Можно заранее создать руки и ноги и передать их в ...

И конструктор их потом положит в поля класса, которые уже были созданы при описании класса. Не совсем все таки понимаю. Разве можно заставить конструктор создать новое поле в классе?

The Pressbraker
И конструктор их потом положит в поля класса, кото...

Почему ты считаешь, что там есть поля рук и ног?

The Pressbraker
И конструктор их потом положит в поля класса, кото...

Нет, новое поле создать нельзя, можно инициализировать существующее

Anatoly-Shirokov Автор вопроса
The Pressbraker
И конструктор их потом положит в поля класса, кото...

class human { std::unique_ptr<leg> left_leg_opt; std::unique_ptr<leg> right_leg_opt; std::unique_ptr<hand> left_hand_opt; std::unique_ptr<hand> right_hand_opt; }; А дальше ты волен в конструкторе создать полноценного человека с ругами и ногами, а после отстреливать по мере протекания игры, например

Alexander Karaev
Можно заранее создать руки и ноги и передать их в ...

Для начала нужно построить фабрики для производства рук и ног

Anatoly Shirokov
class human { std::unique_ptr<leg> left_leg_opt...

Это я понимаю. Тут поля уже есть. Ты просто наполняешь их данными. То есть места для руг и ног уже есть. Конструктор может их заполнить. Ты это имел ввиду присоединить значит. Теперь понял. Просто в некоторых языках там ты можешь действительно создать класс только с полем голова и потом без проблем присвоить переменную , где будет поле нога у человека и поле нога на ходу создаться (даже если изначально его в описании класса не было) это я понимал за понятие присоеденить, в c++ так нельзя.

Michael
Для начала нужно построить фабрики для производств...

и еще пул рук завести для оптимизации, чтобы не ходить в фабрику лишний раз

Anatoly-Shirokov Автор вопроса
The Pressbraker
Это я понимаю. Тут поля уже есть. Ты просто наполн...

я написал присоединить, имея ввиду "создать", "проинициализировать" в конструкторе соответствующие поля класса.

Michael
Для начала нужно построить фабрики для производств...

это же имеет смысл, если есть несколько разных рук и ног. если все одинаковые, то каков смысл в фабриках 🤔?

Anatoly-Shirokov Автор вопроса
Michael
Ну, да. Вдруг кому-то не нужна уже

не, лучше в магазе выставить как товар и монетизировать покупку ног и рук

Anatoly-Shirokov Автор вопроса

это часто антипаттерн - типа создается недообъект, а после типа конструируем

Ну т.е сначала одну половинку человека в конструкторе и потом вторую в методе?)

Это для полиморфных классов, если не получается сделать иначе

Каким образом?

Можно пример?

Зависит всё от архитектуры приложения

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта