Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
icpu
 Аватар для icpu
280 / 185 / 37
Регистрация: 10.03.2011
Сообщений: 873
Записей в блоге: 2
#1

Унаследоваться от базового класса и переопределить часть его данных - C++

06.08.2014, 18:36. Просмотров 598. Ответов 21
Метки нет (Все метки)

Есть базовый класс с некоторыми (protected) данными, в том числе объявленными const, и (public) виртуальными функциями. Требуется унаследоваться от него и переопределить часть этих данных.

Проблема - const члены класса. Как можно переопределить эти члены так, чтобы изменения подхватывали базовые методы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
icpu
 Аватар для icpu
280 / 185 / 37
Регистрация: 10.03.2011
Сообщений: 873
Записей в блоге: 2
07.08.2014, 11:18  [ТС]     Унаследоваться от базового класса и переопределить часть его данных #21
CyberSolver, а как иначе получить доступ к protected полям для модернизации алгоритма? Собственно, проблема решена. Тупым изменением исходников.

Хозяйке на заметку: Если делаете static const поля, храните и возвращайте их виртуальной функцией. И будет вам счастье!
C++
1
2
3
4
5
6
7
8
class cHappiness{
private:
     static const std::vector <int> someVector;
protected:
     virtual const std::vector <int> & myNigga(){return someVector;}
};
 
const std::vector<int> cHappiness::someVector(size,data);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2014, 12:15     Унаследоваться от базового класса и переопределить часть его данных
Еще ссылки по теме:

Инициализация конструктора базового класса C++
C++ Создать массив указателей базового класса и присвоить ему адреса каждого из екземпляров класса
C++ Ошибка базового класса строки
Конструктор базового класса C++
Как скрыть из области видимости часть методов базового класса после наследования? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
CyberSolver
 Аватар для CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
07.08.2014, 12:15     Унаследоваться от базового класса и переопределить часть его данных #22
Цитата Сообщение от icpu Посмотреть сообщение
Собственно, проблема решена. Тупым изменением исходников.
Ну судя по тому, что вы сказали, это просто неудачная архитектура, и иначе никак. Magic numbers — это плохо.
Yandex
Объявления
07.08.2014, 12:15     Унаследоваться от базового класса и переопределить часть его данных
Ответ Создать тему
Опции темы

Текущее время: 23:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru