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

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

Войти
Регистрация
Восстановить пароль
 
Юрий Ч
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 149
#1

private наследование и виртуальный метод - C++

15.07.2013, 19:23. Просмотров 463. Ответов 2
Метки нет (Все метки)

Привет!
Тут хотел бы спросить такой вопрос. Есть базовый класс с виртуальным методом в protected секции. Я наследую этот класс как private. Мне теперь нужно переопределить виртуальный метод базового класса в производном. Теперь мне нужно писать объявление виртуального метода в private секции? Спасибо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Book : public Commodity
{
 
private:
 
    int mNumberOfPages_;
 
protected:
 
    ostream& showAttributes(ostream &stream);
 
public:
    
    Book(string name, int price, string barCode, int numberOfPages);
 
};
 
 
 
 
class BookOnProgramming : private Book
{
 
private:
 
    string mProgrammingLanguage_;
    ostream& showAttributes(ostream &stream);
 
public:
    
    BookOnProgramming(string name, int price, string barCode, int numberOfPages, string programmingLanguage);
 
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2013, 19:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос private наследование и виртуальный метод (C++):

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

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

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

Наследование со спецификатором доступа private - C++
Вопрос состоит в следующем. Если базовый класс наследуется со спецификатором доступа private, можно выборочно сделать некоторые его...

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

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

2
Jupiter
Каратель
Эксперт С++
6560 / 3981 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.07.2013, 19:29 #2
да где хочешь там и пиши, спецификаторы доступа не влияют на виртуальность методов
1
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
15.07.2013, 19:36 #3
Только все равно воспользоваться этим, наверное, не получится, так как указатель на производный класс нельзя будет представить как указатель на базовый из-за private
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2013, 19:36
Привет! Вот еще темы с ответами:

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

виртуальный оператор (двусвязный список, наследование) - C++
Здравствуйте! Поставлена задача реализовать двусвязный список, способный хранить объекты классов Circle и Rectangle, которые, как...

Виртуальный метод - C++
Здравствуйте! Помогите, пожалуйста, найти ошибку в коде. #include "stdafx.h" class Person{ protected: char *name; ...

Виртуальный метод - C++
class A { virtual void Print()=0; } class B : public A { virtual void Print() { //Печатаем в...


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

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

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