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

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

Войти
Регистрация
Восстановить пароль
 
D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
#1

Наследование со спецификатором доступа private - C++

06.11.2012, 20:21. Просмотров 519. Ответов 2
Метки нет (Все метки)

Вопрос состоит в следующем. Если базовый класс наследуется со спецификатором доступа private, можно выборочно сделать некоторые его элементы, объявленые со спецификатором доступа public, доступными в производном классе, объявив их в секции public производного класса с помощью операции доступа к области видимости:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class A
{
public:
   int a;
};
 
class B : private A
{
public:
   A::a;
   int b;
};
Можно ли, и если можно, то как сделать такое же разрешение для методов базового класса? Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 20:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование со спецификатором доступа private (C++):

Private наследование - C++
Добрый вечер, почему приходится подставлять явно ссылку на базовый класс - компилятор скушал - значит знает что внутри класса видно,...

private наследование и виртуальный метод - C++
Привет! Тут хотел бы спросить такой вопрос. Есть базовый класс с виртуальным методом в protected секции. Я наследую этот класс как...

А где вы используете private наследование? - C++
Private наследование позволяет реализовать отношение содержит, т.е. почти то же, что и встроить объект нужного класса, в теории оно...

А где вы используете private наследование? - C++
Насколько я знаю то при приватном наследовании наследник ничего от родительского класса не наследует. Тогда зачем оно нужно? Ничего же не...

Зачем нужно private наследование в классах? - C++
Если можно, то покажите небольшой пример

Наследование классов и обращение к Private/Static - C++
Здравствуйте! У меня возникла проблема при попытке унаследовать параметры класса... У меня есть 2 класса. Player и Enemy. У обоих есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
06.11.2012, 20:23 #2
С помощью using:
C++
1
2
3
4
5
6
7
8
9
10
struct Base {
 
   void some_method();
};
 
 
struct Derived : private Base {
   
   using Base::some_method;
};
2
D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
06.11.2012, 20:25  [ТС] #3
Огромное спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 20:25
Привет! Вот еще темы с ответами:

Наследование. Помогите с этими public, protected. private - C++
Вот код, в нем вылетает ошибка Unit2.cpp(16): E2251 Cannot find default constructor to initialize base class 'My' в файле unit2.cpp во...

Нет доступа к полю private - C++
Всем доброго дня ! Полскажите пожалуйста почему обьект nak не может получить доступ к функции fvm() класса А (строка 93). ...

Вопрос про Спецификаторы доступа Public и Private - C++
Читаю Дейтлов... Дошел до объяснения спецификаторов и не могу понять 2 предложения: Еще: class GradeBook { public: ...

friend функции не имеют доступа к private элементам класса, почему? - C++
Учусь по Лафоре Р. - Объектно-ориентированное программирование в С++ (Классика Computer Science) - 2004. Выполняю задания на Microsoft...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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