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

Невозможно обратиться к protected член, объявленному в классе "Counter" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Апишите программу которая может перечислять членов ордена по действительным именам по должностям http://www.cyberforum.ru/cpp-beginners/thread1232611.html
4.Вступив в Благотворительный орден программистов(Benevolent Order of Programmers- BOP), вы можете быть известны на собраниях ВОР под своим действительным именем, по названию должности или по...
C++ Создание объекта в области памяти Не могу разобраться с таким вопросом. Пусть есть у нас класс Example (у него есть стандартный конструктор и неважно что он делает). и имеется следующая функция: void foo(){ ... http://www.cyberforum.ru/cpp-beginners/thread1232597.html
C++ Как сделать преобразование в string для своего класса
есть 2 строчки кода Var a = "dfsfdfd"; string b = (string)a; в класса есть перегруженный оператор operator string (); но компилятор на него не реагирует и тупо не хочет компилировать, сразу...
C++ Требуется собрать кучу object в один контейнер и искать их по object_name
Пусть дана структура вида: struct object { object(const std::string&_object_name):object_name(_object_name){} bool operator<(const object&o)const{return object_name<o.object_name;} ...
C++ Нужно продублировать первое чётное число в односвязном списке http://www.cyberforum.ru/cpp-beginners/thread1232561.html
Написал вот такой код, он рабочий, но никак не пойму, что нужно сделать, чтоб выполнялась поставленная задача. Прошу помочь. #include "stdafx.h" #include <iostream> #include <string.h> #include...
C++ Как циклически организовать задание значений, пока не получится то, что надо Делал игру кубики нужно сделать ничью что бы когда выбивало два одинаковых значений перекручивало сначала если нету два одинаковых значения переходил к следующему сигменту кода подробнее

Показать сообщение отдельно
DrOffset
7320 / 4420 / 1001
Регистрация: 30.01.2014
Сообщений: 7,259
24.07.2014, 19:21
Цитата Сообщение от alsav22 Посмотреть сообщение
Базовый класс для наследника разве можно назвать чужим? Вот это и смущает
Ну тут разрешается логическое противоречие. С одной стороны protected доступ не разрешается для внешних сущностей. С другой стороны, мы наследуемся от класса с protected полями. Вот поэтому-то доступ может быть осуществлен только через указатель (this тоже относится) или ссылку на класс наследника. protected подразумевает, что мы проделегировали права доступа к защищенным полям через экземпляр текущего класса (наследника). Как только мы теряем тип (меняем например на базовый), то эти правила перестают работать, точно так же, как они перестают работать при обычном внешнем доступе. Иначе получилось бы, что одна и та же запись (обращение к полю через указатель на базовый класс) совершенно по-разному себя ведет в зависимости от того находится ли она внутри метода класса или снаружи. Если принять, что конструктор это функция, пусть и специальная, то легко можно представить, что для нее работают все те же правила, что и для других функций и переменных. Делать в этом случае какое-то исключение было бы неправильно.
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru