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

Спецификатор доступа и виртуальные функции - C++

Восстановить пароль Регистрация
 
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
27.07.2012, 17:10     Спецификатор доступа и виртуальные функции #1
Как я понимаю, спецификатор доступа задается только в том классе, где функция объявляется виртуальной? Получается во время исполнения не проверяется спецификатор доступа? Ну вот например код:

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
class Base {
 public:
   virtual void func() const {
      std::cout << "Base" << std::endl;
   }
};
 
class Derived : public Base {
 private:
   virtual void func() const {
      std::cout << "Derived" << std::endl;
   }
};
 
int main () {
   Derived obj;
   Base *ptr = &obj;
 
   //obj.func() // тут естественно ошибка
 
   ptr -> func(); //нормальный вывод, "Derived"
 
   return 0;
}
Просто у Дейтелов по этому вопросу ничего не нашел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2012, 17:10     Спецификатор доступа и виртуальные функции
Посмотрите здесь:

C++ Виртуальные функции
C++ Виртуальные функции
Вывести на экран второго и шестандцатую эквиваленты целого числа. Не использовать спецификатор типа% х,% Х в функции printf. C++
C++ виртуальные и чисто виртуальные функции
C++ Виртуальные функции
Спецификаторы доступа и виртуальные функции C++
Виртуальные функции C++
Пишем свой класс, спецификатор доступа protected C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1785
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
27.07.2012, 17:13     Спецификатор доступа и виртуальные функции #2
Правильно рассуждаете.
Доступ выполняется по указателю базового класса,
а в нем это public функция.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
27.07.2012, 17:20  [ТС]     Спецификатор доступа и виртуальные функции #3
Спасибо, уже сам нашел подтверждение своим мыслям.
Yandex
Объявления
27.07.2012, 17:20     Спецификатор доступа и виртуальные функции
Ответ Создать тему
Опции темы

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