Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2017, 06:52   #1
Qwertyh
Новичок
Джуниор
 
Регистрация: 05.06.2017
Сообщений: 1
По умолчанию Доступ к переменной дочернего класса.

В основном классе есть функция, которая должна использовать переменную задекларированную в дочернем классе, как это воплотить?
Так не работает.
Class funk{
Public:
Void print(){
Cout<<y;
}
};
Class how: public funk{
Public:
Int y=7;
};
Int main(){
funk obj;
obj.print();
}
Qwertyh вне форума Ответить с цитированием
Старый 05.06.2017, 07:27   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Перенести её в родительский класс
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.06.2017, 07:46   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Или перегрузить функцию в дочернем, а в родительском оставить заглушку для нее.
p51x вне форума Ответить с цитированием
Старый 05.06.2017, 07:55   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Как по мне, так если родитель пытается использовать переменные дочернего - значит, где-то архитектура непродумана
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.06.2017, 10:31   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Может человек просто не знал, что можно переопределить функцию и она вызовется по указателю на базовый (если там производный)?..
p51x вне форума Ответить с цитированием
Старый 06.06.2017, 08:54   #6
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Как по мне, так если родитель пытается использовать переменные дочернего - значит, где-то архитектура непродумана
А мне, помню, такое от определение на лекции в универе давали: "полиморфизм - это способ родителя получить доступ к дочернему классу". Сидели сперва все в шоке, но так и есть.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обратиться к переменной класса в методе, не меняя названия переменных, и убрав модификатор static у переменной класса? nevender Помощь студентам 8 25.01.2016 09:46
создание дочернего класса cargo29 PHP 1 13.10.2012 18:41
Для public переменной класса присвоить адрес ячеек из внешней переменной _KUL Qt и кроссплатформенное программирование С/С++ 2 28.05.2012 12:04
Доступ из дочернего фрейма в дочерний Стремящийся JavaScript, Ajax 0 18.05.2012 19:09
Получить имя дочернего класса в базовом Cronos20 PHP 3 28.03.2011 19:44