|
140 / 72 / 26
Регистрация: 29.06.2015
Сообщений: 186
|
||||||||||||||||
Как обратится к обьекту класса, являющегося наследником абстрактного класса31.07.2015, 23:58. Показов 10187. Ответов 131
Метки нет (Все метки)
Здравствуйте!
У меня есть 4 класса: один виртуальный, следующие 2 - наследуют виртуальный класс и последний класс содержит указатель на виртуальный класс (динамический массив, который растет от методов buildCar и buildTruck). eFuel - это также класс, который содержит еще класс, но в данном вопросе они не принимают участия. Вопрос: как через указатель четвертого класса доступится к наследующим классам?
0
|
||||||||||||||||
| 31.07.2015, 23:58 | |
|
Ответы с готовыми решениями:
131
Как полю класса А обратится к приватной функции класса А?
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 01.08.2015, 20:56 | ||
|
0
|
||
|
|
|||||
| 01.08.2015, 21:16 | |||||
|
Ответ- нафиг сдался, итератор нужен алгоритмам как способ обобщения. Не по теме:
Правда там нет запрета создания через коструктор.
0
|
|||||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
||
| 01.08.2015, 21:21 | ||
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 01.08.2015, 21:29 | ||
|
запрет и на наследование тоже. иначе конструктор был бы protected, а не private.
0
|
||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
||
| 01.08.2015, 21:47 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||
| 01.08.2015, 21:59 | |||||||||||
|
смысл которого в возможности бегать по любым контейнерам, не зависимо от их устройства. но от этого конкретный итератор, не перестает быть частью интерфейса контейнера. у меня был случай, когда нужно было сделать френдом глобальные функции std::make_shared, и аналоги, например.
что бы пользоваться, нужно знать и иметь ввиду все эти правила касательно владения. и не забыть случайно чего-то там зачистить. я когда то делал подобные вещи на смартпоинтерах. можно было просто пользоваться и вообще не заморачиваться: когда чего может подохнуть, и кто будет за всем подчищать. Добавлено через 4 минуты если вы считаете, что можете нарушать контракты класса, валяйте - есть куча разных способов, как его можно похакать. по утери инварианта, класс вам больше ничего не гарантирует. так что последствия полностью на вашей совести.
1
|
|||||||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 01.08.2015, 23:19 | ||
|
Если мы не поленимся и откроем книжку (Дизайн и Эволюция С++), то увидим, какова концепция защиты в С++.
1) Защита проверяется во время компиляции и направлена против случайных, а не преднамеренных или явных попыток ее преодоления. 2) Доступ предоставляется классом. 3) Контроль прав доступа выполняется для имен и не зависит от типа именованной сущности. 4) Единицей защиты является класс, а не отдельный объект. 5) Контролируется доступ, а не видимость. Avazart, цитата Страуструпа из книги:
3
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 02.08.2015, 00:14 | ||
|
Добавлено через 17 минут Avazart, по поводу кода - это действительно пример того, как можно адекватно использовать friend. Но по моему мнению, там класс DependencyManager - лишний. Все это может делаться классом Graph. И еще: более низкоуровневые компоненты не должны как-то обращаться или зависеть от вышестоящих (дуги и вершины от графа или от этого менеджера зависимостей). Это более логично + тогда мы еще получим например профит в том, что при правке дуг нам не придется пересобирать и вершину, а при правке вершины - дугу. Сейчас же будет пересобираться абсолютно все.
0
|
||
|
|
|||||
| 02.08.2015, 01:14 | |||||
|
Одно дело позволять все, а другое дело позволять все, но через оговоренный метод(интерфейс). А так задача "связей" выделена в отдельный объект и Graph не нагружен задачей поддержки связей. Как к примеру может сущестовать дуга без вершин? Кроме того удаление ребра должно "оповещать" вершину о своем удалении. Но мне мой код все равно не нравится хоть с менежером связей хоть без. Тут только три объекта, а что когда их будет значительно больше и связи будут нести более сложный характер? Вероятно с этим можно только смирится.
0
|
|||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 02.08.2015, 01:34 | ||||
|
0
|
||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 02.08.2015, 03:27 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 02.08.2015, 12:38 | |||
|
такова описываемая предметная область: сетка взаимосвязанных элементов. их не получится изолировать от особенностей друг друга. точнее, если по-извращаться, то может быть, что нибудь и получится. но код проще точно не станет.
0
|
|||
|
Модератор
|
|||||
| 02.08.2015, 15:37 | |||||
В русском переводе:
Добавлено через 21 минуту Ну и Страуструп, собственно:
0
|
|||||
|
|
||||||
| 02.08.2015, 22:30 | ||||||
|
Фиг его знает чего они употребляют такое сочетание слов, подрузомевается вероятно
0
|
||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 03.08.2015, 14:47 | |||
|
0
|
|||
| 03.08.2015, 14:47 | |
|
Метод абстрактного класса не видит переменные дочернего класса
Как инициализировать члены класса, являющегося параметром шаблона Как обратится к объекту класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|