|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
|
Работа с классами (в главном классе создать указатель на экземпляр другого класса)07.09.2013, 16:05. Показов 5729. Ответов 20
Метки нет (Все метки)
Недавно начал изучение С++, в частности ООП. В связи с чем у меня есть вопрос как в главном классе можно создать указатель на экземпляр другого класса, причем такой, чтоб во всех экземплярах главного класса был один и тот же указатель. То есть существует много экземпляров главного класса, все указатели которого указывают на единственный экземпляр другого класса.
0
|
|
| 07.09.2013, 16:05 | |
|
Ответы с готовыми решениями:
20
Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса Как создать указатель на экземпляр класса?
|
|
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
|
|
| 07.09.2013, 16:22 | |
|
При создании каждого экземпляра "главного" класса передавать ему адрес того самого экземпляра.
0
|
|
|
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 28
|
||||||
| 07.09.2013, 16:27 | ||||||
|
сделать его статическим
0
|
||||||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
||||||||
| 07.09.2013, 16:57 [ТС] | ||||||||
0
|
||||||||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
||||||
| 07.09.2013, 17:39 | ||||||
|
Teplotexnik, нужно определение B::ptr (в исходнике):
1
|
||||||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
||
| 07.09.2013, 18:11 [ТС] | ||
|
0
|
||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
||||||||||||
| 07.09.2013, 18:16 | ||||||||||||
0
|
||||||||||||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
|||||||||||
| 07.09.2013, 19:02 [ТС] | |||||||||||
|
когда пытаюсь сделать так
0
|
|||||||||||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
||
| 07.09.2013, 19:13 | ||
|
Добавлено через 2 минуты Вот здесь работает, например: http://ideone.com/h5G0TO . Добавлено через 1 минуту
0
|
||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
|
| 07.09.2013, 19:22 [ТС] | |
|
Да, тот код тоже не компилируется видимо это зависит от компилятора( а shared_ptr это класс, в котором содержится указатель на хранилище и колличество используемых в данный момент указателей на данное хранилище, когда не остается ни одного указателя хранилище должно разрушиться.
0
|
|
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|||
| 07.09.2013, 19:29 | |||
|
0
|
|||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
||||||
| 07.09.2013, 19:54 [ТС] | ||||||
0
|
||||||
|
14 / 14 / 1
Регистрация: 20.04.2010
Сообщений: 102
|
|||||||||||
| 07.09.2013, 19:57 | |||||||||||
|
агрегация по ссылке это называется. а чтобы "во всех экземплярах главного класса был один и тот же указатель" переменную-указатель надо сделать статической. статическая переменная является общей для всех объектов класса, к которому она относится. пример:
присвоить значение objectA можно, например, так:
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
|
| 07.09.2013, 20:01 [ТС] | |
|
gray_fox, этот счетчик нужен для подсчета колличества созданных указателей на хранилище
fit, вопрос был как отказаться от статического указателя, но при этом чтобы указатели всех экземпляров этого класса ссылались на единсвенный экземпляр класса хранилище
0
|
|
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|||||||
| 07.09.2013, 20:05 | |||||||
0
|
|||||||
|
14 / 14 / 1
Регистрация: 20.04.2010
Сообщений: 102
|
||
| 07.09.2013, 21:10 | ||
не понимаю чем автору не нравится статический указатель. он для таких целей и существует))
0
|
||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
||||||||
| 07.09.2013, 21:23 | ||||||||
|
Т.е. видимо как то так:
0
|
||||||||
|
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
|
|||
| 07.09.2013, 23:50 [ТС] | |||
|
0
|
|||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|
| 08.09.2013, 00:07 | |
|
0
|
|
|
14 / 14 / 1
Регистрация: 20.04.2010
Сообщений: 102
|
||
| 08.09.2013, 02:02 | ||
0
|
||
| 08.09.2013, 02:02 | |
|
Помогаю со студенческими работами здесь
20
Как правильно создать экземпляр класса в классе контроллере Создать экземпляр класса Graphics для метода в своём классе Работа с уже сконструированными классами из другого класса Создать в классе поле типа другого класса Как создать экземпляр класса внутри другого, явно не указывая его название Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|