85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
||||||
1 | ||||||
Как создать объект с конструктором в интерфейсе другого класса?19.12.2011, 15:51. Показов 2894. Ответов 19
Метки нет (Все метки)
0
|
19.12.2011, 15:51 | |
Ответы с готовыми решениями:
19
Возможно ли создать объект своего класса, который состоит из объектов другого класса? Вызов метода из другого класса, при этом нельзя создать объект второго класса и метод не статический Как связать сигнал одного класса со слотом другого класса, содержащего указатель на объект этого класса? Как из одного объекта получить объект другого класса? |
31 / 31 / 3
Регистрация: 10.05.2011
Сообщений: 120
|
|||||||||||
19.12.2011, 15:56 | 2 | ||||||||||
Попробуйте вот так:
И вот тут:
1
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
19.12.2011, 16:10 [ТС] | 3 |
да не важно.
Такой метод работает, но есть один нюанс. Я объекты инциализирую старым способом только если конструктор имеет методы. Например: Worker(int id) : itsId(id). А другие объекты инициализирую внутри самого конструктора, то есть в Worker() { SetMoney(0); }. Короче говоря, мне нужно workerInfo определить внутри конструктора Worker() { тут }
0
|
31 / 31 / 3
Регистрация: 10.05.2011
Сообщений: 120
|
|||||||||||
19.12.2011, 16:16 | 4 | ||||||||||
Дело в том, что все переменные-члены класса создаются на этапе "constructor(): "! Так что раз уж такая ситуация, то Вам проще будет работать с указателем!
0
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
||||||
19.12.2011, 16:22 [ТС] | 5 | |||||
Ну вы поняли
Добавлено через 3 минуты absokolov,
С умом конечно, имею в виду.
0
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
19.12.2011, 16:46 [ТС] | 7 |
Bers, веселый хак я бы не додумался сразу
0
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
19.12.2011, 16:55 [ТС] | 9 |
Bers, ну как вы сами говорите "нарушение инкапсуляции".
А что если я добавлю объект: vector<Worker*> vWorkers; как мне внутри { } конструктора указать размер? Workers() { vWorkers(50); // не верно} ну можно "vWorkers.resize(50)". Но не решение вопроса
0
|
31 / 31 / 3
Регистрация: 10.05.2011
Сообщений: 120
|
|
19.12.2011, 17:04 | 11 |
А почему же не безопасно?
Если я не ошибаюсь, то даже если передать в delete указатель со значением "0" - то он должен тоже нормально воспринять!
0
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
19.12.2011, 17:08 [ТС] | 12 |
0
|
Заблокирован
|
|||||||||||||||||||||
19.12.2011, 17:11 | 13 | ||||||||||||||||||||
*включил телепатию*
Если тебе нужно запихать в вектор некоторое количество работяг, созданных конструктором с параметрами, то это уже в компетенции самого вектора, а не работяг:
и тд и тп Добавлено через 58 секунд Моя не понимать! Интерфейсов в мире мноооогаааа! Куда именно? Вах вах!
1
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
||||||
19.12.2011, 17:14 [ТС] | 14 | |||||
absokolov, я в динамической памяти плохо разбираюсь, детально не читал, архитектуру ЭВМ не учил. Поэтому, самостоятельно выделять и работать с динамической памятью особого желания нет.
Добавлено через 1 минуту Bers, вот что я имею в виду
0
|
Заблокирован
|
||||||
19.12.2011, 17:18 | 15 | |||||
res, То есть, ты хочешь, что бы у тебя объект внутри себя хранил объекты самого себя?
Ты уверен, что это именно то, что тебе нужно?
0
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|||||||||||
19.12.2011, 17:24 [ТС] | 16 | ||||||||||
Bers, ну это я пример только привёл, тогда сделаем так
как правило, в интерфейсе объект инициализировать нельзя, но можно в конструкторе.
0
|
Заблокирован
|
|||||||||||||||||||||
19.12.2011, 17:29 | 17 | ||||||||||||||||||||
можно так:
1
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
19.12.2011, 17:35 [ТС] | 18 |
Bers, ладно забей, правильно задавать вопросы я не умею.
0
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
19.12.2011, 17:59 [ТС] | 20 |
Bers, нет не так, далековато ты ушёл.
В прочем, ты здесь мне уже помог
0
|
19.12.2011, 17:59 | |
19.12.2011, 17:59 | |
Помогаю со студенческими работами здесь
20
Как заменить объект List одного класса объектом другого? Можно ли создать объект класса с таким же именем как у самого класса? Создать обЪект класса , у которого в параметрах конструктора объект этого же класса Ошибка при попытке использовать объект класса в определении другого класса Ошибка компиляции (преобразование объекта класса в объект другого класса) Использование в качестве поля класса указатель на объект другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |