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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Апишите программу которая может перечислять членов ордена по действительным именам по должностям http://www.cyberforum.ru/cpp-beginners/thread1232611.html
4.Вступив в Благотворительный орден программистов(Benevolent Order of Programmers- BOP), вы можете быть известны на собраниях ВОР под своим действительным именем, по названию должности или по секретному псевдониму ВОР. Напишите программу которая может перечислять членов ордена по действительным именам по должностям по секретным псевдонимам или по индивидуально заданным опциям. В основу программы...
C++ Создание объекта в области памяти Не могу разобраться с таким вопросом. Пусть есть у нас класс Example (у него есть стандартный конструктор и неважно что он делает). и имеется следующая функция: void foo(){ Example one(); Example two; Example *three = new Example; Example *four = new Example(); } http://www.cyberforum.ru/cpp-beginners/thread1232597.html
C++ Как сделать преобразование в string для своего класса
есть 2 строчки кода Var a = "dfsfdfd"; string b = (string)a; в класса есть перегруженный оператор operator string (); но компилятор на него не реагирует и тупо не хочет компилировать, сразу пишет ошибку, почему и как сдела чтобы работало? Ошибка 12 error C2440: приведение типов: невозможно преобразовать "Var" в "std::string" c:\users\admin\documents\visual studio...
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;} bool operator<(const std::string&str)const{return object_name<str;} std::string object_name; char some_data; }; Требуется собрать кучу object в один контейнер и искать их по object_name....
C++ Нужно продублировать первое чётное число в односвязном списке http://www.cyberforum.ru/cpp-beginners/thread1232561.html
Написал вот такой код, он рабочий, но никак не пойму, что нужно сделать, чтоб выполнялась поставленная задача. Прошу помочь. #include "stdafx.h" #include <iostream> #include <string.h> #include <conio.h> using namespace std; //описание структуры struct point { int num;//информационное поле
C++ Как циклически организовать задание значений, пока не получится то, что надо Делал игру кубики нужно сделать ничью что бы когда выбивало два одинаковых значений перекручивало сначала если нету два одинаковых значения переходил к следующему сигменту кода подробнее

Показать сообщение отдельно
DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
23.07.2014, 20:35     Невозможно обратиться к protected член, объявленному в классе "Counter"
Цитата Сообщение от alsav22 Посмотреть сообщение
Вопрос остался: почему в методе производного класса нельзя вызвать защищённый конструктор базового?
А вот в чем вопрос-то. Я сразу не понял
В общем, protected просто так работает. Он предоставляет доступ к "закрытым" полям базового класса только для объекта наследника. Вот небольшой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A
{
protected:
    int a;
};
 
class B : public A
{
public:
    B()
    {
         a = 1; // ок. мы в том же самом объекте
         A * p = this;
         p->a = 0; //ошибка
    }
};
Конструирование класса А тоже к этому относится. Т.к. конструктор вызывается уж не у текущего объекта.
Ссылку на стандарт попробую попозже найти.

Добавлено через 9 минут
Собственно вот (о чем я и говорил см. Clause 11):
12/4
Special member functions obey the usual access rules (Clause 11). [ Example: declaring a constructor
protected ensures that only derived classes and friends can create objects using it
. —end example ]
Как раз привели в пример конкретную ситуацию с конструктором.
 
Текущее время: 21:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru