|
140 / 72 / 26
Регистрация: 29.06.2015
Сообщений: 186
|
||||||||||||||||
Как обратится к обьекту класса, являющегося наследником абстрактного класса31.07.2015, 23:58. Показов 10202. Ответов 131
Метки нет (Все метки)
Здравствуйте!
У меня есть 4 класса: один виртуальный, следующие 2 - наследуют виртуальный класс и последний класс содержит указатель на виртуальный класс (динамический массив, который растет от методов buildCar и buildTruck). eFuel - это также класс, который содержит еще класс, но в данном вопросе они не принимают участия. Вопрос: как через указатель четвертого класса доступится к наследующим классам?
0
|
||||||||||||||||
| 31.07.2015, 23:58 | |
|
Ответы с готовыми решениями:
131
Как полю класса А обратится к приватной функции класса А?
|
|
|
||
| 01.08.2015, 01:06 | ||
|
Добавлено через 1 минуту Eraston, Почитайте книгу Саттера и прекращайте быдлокодить....
0
|
||
|
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
|
|
| 01.08.2015, 01:10 | |
|
Avazart, грань между инкапсуляцией и сокрытием довольно тонкая.
0
|
|
|
140 / 72 / 26
Регистрация: 29.06.2015
Сообщений: 186
|
||||
| 01.08.2015, 01:15 [ТС] | ||||
0
|
||||
|
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
|
|
| 01.08.2015, 01:15 | |
|
Avazart, я согласен, что необходимо полностью закрывать доступ к членам сложных типов данных типа (TreeNode, File, List, Table, Array и пр. являющихся составными, и, тем более, работающих с указателями), но абсолютно не вижу смысла закрывать простые int'ы c float'ами. Возможно, с практикой и опытом моё мнение и изменится.
0
|
|
|
|
|||
| 01.08.2015, 01:21 | |||
|
Инкапсуляция подразумевает скрытие, или точнее сказать ограничение доступа, "скрытие внутренностей".
Добавлено через 3 минуты Разница была бы если бы к примеру на "грузовой заправке" продавалась бы еще дизель топливо к примеру. Если уже должно быть "жестко" заданые значения то вероятно стоит использовать сonst- переменные, для итовых еще можно "переопределять" enum Да и вероятно конструктор с параметрами базового класса вероятно стоит сделать protected. Добавлено через 55 секунд Члены класса- закрытыми.
0
|
|||
|
140 / 72 / 26
Регистрация: 29.06.2015
Сообщений: 186
|
|||
| 01.08.2015, 01:28 [ТС] | |||
|
0
|
|||
|
|
|
| 01.08.2015, 01:33 | |
|
Ну так методов вобще может не быть.
К примеру геттер в вашем случае может присутствовать, а сеттеры могут и отсутствовать- т.е не будет возможности изменить значение. Для этого собственно и разделяется доступ на геттеры и сеттры. Более того сеттеры и геттеры могу делать что-то еще помимо установки значения так называемое "последействие" и повидение может менятся от базового члена класса к наследникам, чего не достикнуть если открывать/"защищать" членны-данные.
0
|
|
|
140 / 72 / 26
Регистрация: 29.06.2015
Сообщений: 186
|
||
| 01.08.2015, 01:38 [ТС] | ||
|
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|||||||
| 01.08.2015, 01:42 | |||||||
0
|
|||||||
|
|
|||||||
| 01.08.2015, 02:02 | |||||||
0
|
|||||||
|
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
|
||
| 01.08.2015, 02:08 | ||
|
0
|
||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
||||||
| 01.08.2015, 02:19 | ||||||
|
Лишнее движение - обращаться по адресу функции, чтобы получить переменную, когда ее можно получить напрямую - только для унаследованных детей. Писать 20 геттеров это вообще лол. Давайте уж тогда правильнее будем писать не один геттер, а два - итого 60 методов для 20 переменных (допустим, что хочу пользоваться всеми).
0
|
||||||
|
|
|||
| 01.08.2015, 02:29 | |||
|
smartpointer, Почитайте про inline может поймете в чем заблуждаетесь.
Добавлено через 3 минуты Добавлено через 2 минуты
0
|
|||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|||
| 01.08.2015, 02:37 | |||
|
0
|
|||
|
|
|||||
| 01.08.2015, 02:47 | |||||
|
Добавлено через 2 минуты Добавлено через 1 минуту Добавлено через 42 секунды Кода в иерархии два уровня все кажется простым, но когда больше и кода ваши классы пытается использовать кто-то другой вы даете ему возможность ошибиться.
0
|
|||||
| 01.08.2015, 02:50 | |
|
0
|
|
|
|
||
| 01.08.2015, 02:54 | ||
|
Про protected я уже написал он "для методов". friend стоит использовать осторожно, в данном случае он ни к чему.
0
|
||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|||
| 01.08.2015, 03:01 | |||
Про friend-ы интересно - расскажите (ну или ссылку на крайняк)?
0
|
|||
|
|
||||||||
| 01.08.2015, 03:17 | ||||||||
|
Добавлено через 3 минуты К примеру, если нужно запретить создавать объекты напрямую через конструкторы. Добавлено через 8 минут
3
|
||||||||
| 01.08.2015, 03:17 | |
|
Метод абстрактного класса не видит переменные дочернего класса
Как инициализировать члены класса, являющегося параметром шаблона Как обратится к объекту класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|