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

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

Восстановить пароль Регистрация
 
 
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
06.08.2014, 18:36     Унаследоваться от базового класса и переопределить часть его данных #1
Есть базовый класс с некоторыми (protected) данными, в том числе объявленными const, и (public) виртуальными функциями. Требуется унаследоваться от него и переопределить часть этих данных.

Проблема - const члены класса. Как можно переопределить эти члены так, чтобы изменения подхватывали базовые методы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2014, 18:36     Унаследоваться от базового класса и переопределить часть его данных
Посмотрите здесь:

C++ Конструктор базового класса
Как переопределить конструктор класса C++
C++ Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса
Вызов метода базового класса из класса-потомка C++
C++ Как построить экземпляр дочернего класса на основе готового экземпляра базового класса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 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++

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

Или воспользуйтесь поиском по форуму:
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     Унаследоваться от базового класса и переопределить часть его данных
Ответ Создать тему
Опции темы

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