Можно ли создать экземпляр объекта в куче по следующей причине?
У меня есть класс, и конструктор принимает параметр. Например,
class Entity { private: int number_; public: Entity(int number):number_(number) { std::cout << "Entity object created"; } } // header class SuperEntity { private: Entity *entity_; public: SuperEntity(int value); }; // source SuperEntity::SuperEntity(int value) { entity_ = new Entity(value); }
класс
SuperEntity
имеется собственный член Entity
. Так как для того, чтобы создать экземпляр Entity
вам нужно пройти в Ан int
конструктору и не может быть сделано объявление файла, потому что int value
необходимо создать экземпляр Entity
пока недоступно, можно ли динамически выделять Entity
в SuperEntity's
конструктор? Разве это плохая практика? Спасибо.Что я уже пробовал:
Именно так я поступаю в проекте, когда для создания экземпляра объекта требуются параметры инициализации.
Usman Hunjra
Я думаю, что вы хотите реализовать ассоциацию .
Я прав. ?
Usman Hunjra
Пожалуйста, уточните свой проект, что на самом деле вы хотите сделать ..
Это похоже на задание.
Каково ваше проектное заявление ???
Ну в соответствии с информацией которую вы разместили и кодом:
В классе SuperEntity есть указатель на класс Entity, поэтому в конструкторе вы должны написать это->entity_.setVal(6); Напишите сеттеры и геттеры и используйте их в конструкторе вместо использования списка инициализаторов членов.
Пожалуйста, подробно опишите проблему, связанную с вашим проектом ..
Кроме того, имейте в виду, что проект code - это потрясающая сеть для обучения путем обсуждения.
Ни одно тело не дает вам точного решения вашего задания..
Vinokanth Velu
Я знаю о сеттерах и геттерах. Мой вопрос заключается в том, как вы объявляете объекты в заголовочном файле, если конструктор класса принимает параметры?
Usman Hunjra
да, это плохая идея. Вы должны использовать списки инициализации членов и вызвать конструктор класса объекта, потому что класс SuperEntity имеет указатель на объект класса сущности.
Читайте о классах и конструкторах, как всегда медленно и уверенно выигрывает гонку..
Ваши основные понятия очень просты, работайте над ними до того, как приступите к реализации отношений..
Vinokanth Velu
Да, список инициализаторов членов-это ответ. Большое спасибо, приятель. Как вы сказали, мой фундамент очень слаб. Пытаюсь исправиться.
Usman Hunjra
Ты Более Чем Желанный Брат..