1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
|
1 | |
Доступ к полю абстрактного класса через класс-потомок09.03.2019, 19:39. Показов 4283. Ответов 4
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане! Пытаюсь решить такую задачу. Я объявил в абстрактном классе виртуальную функцию, чтобы реализовать ее в двух классах-потомках. С этим проблем нет. Но по заданию, абстрактный класс содержит два поля, присущих каждому из подклассов. Вопрос: я собираюсь создавать экземпляры двух подклассов (экземпляр абстрактного класса я создать не могу, это запрещено), но мне как-то из них нужно получить доступ к тем двум полям базового абстрактного класса. Возможно ли это? Вообще уже голова не варит. Помогите, пожалуйста.
0
|
09.03.2019, 19:39 | |
Ответы с готовыми решениями:
4
Определить на основе абстрактного класса производный класс Найти класс-наследник от абстрактного класса в массиве Доступ к приватному полю класса X из метода класса Y Разработать производный от абстрактного класса Figure класс и класс, производный от производного |
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|||||||||||
09.03.2019, 19:41 | 2 | ||||||||||
Сообщение было отмечено Fixer_84 как решение
Решение
Объявите их в разделе
то к переменной базового класса обращайтесь с указанием имени базового класса
2
|
6107 / 3461 / 1406
Регистрация: 07.02.2019
Сообщений: 8,794
|
|
09.03.2019, 19:45 | 3 |
1
|
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
|
09.03.2019, 19:52 [ТС] | 4 |
zss, да. Я только что натолкнулся на решение. Объявил как protected. Но private сделать не дает. К переменным решил обратиться через геттеры производного класса.
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
||||||
09.03.2019, 19:59 | 5 | |||||
Fixer_84,
Можно использовать protected поля как предложили выше Из минусов данного подхода можно отметить то, что доступа к полю за пределами класса наследника не будет А так же усилится зависимость класса наследника от реализации базового класса Можно воспользоваться геттером Это так же позволит получать доступ к полю от имени переменной тип которой - абстрактный класс.
Добавлю, что в этом не всегда может быть необходимость.
1
|
09.03.2019, 19:59 | |
09.03.2019, 19:59 | |
Помогаю со студенческими работами здесь
5
На основе созданного класса OPERATION, создать класс-потомок OP_SUMMATOR, который производит сложение двух полей Доступ к полю StructLayout из экземпляра класса Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? Как получить доступ к полю внешнего класса? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |