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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Argc, Argv замена http://www.cyberforum.ru/cpp-beginners/thread629625.html
Всем доброго времени суток, столкнулся с такой проблемой, нет возможности в параметрах ф-ции указать вышеупомянутые параметры, а указать их нужно, т.к. в коде есть такие строчки: char* qwe = argc >=...
C++ Вычисление длины двухмерного массива Напишите программу, возвращающую длину двухмерного вектора по заданным значениям координат его концов. http://www.cyberforum.ru/cpp-beginners/thread629601.html
C++ Комбинация клавишь
доброго времени суток, перелапатил интернет, уже 2 часа потерял не могу найти помощи, подскажите как сделать что б выполнялось событие при нажатии сочитания клавиш к примеру "f" + "a"+"i"+"l" нашел...
Игра "Подкидной дурак" C++
Здравствуйте! Подскажите пожалуйста как сделать, чтоб карты выводились по 6 шт в ряд, а не столбиком? #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; void print...
C++ Изменить код программы http://www.cyberforum.ru/cpp-beginners/thread629598.html
#include "stdafx.h" #include "stdio.h" #include "conio.h" int main() { int const N = 10; int a; int i, max, nomer; printf("Vvedite elementy massiva:\n"); for(i=1; i<=N; i++)
C++ Множественное наследование в форме ромба Всем привет. Объясните пожалуйста почему так происходит: есть некое древо иерархии классов в виде ромба: #include <iostream> using namespace std;... подробнее

Показать сообщение отдельно
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1

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

27.07.2012, 17:10. Просмотров 429. Ответов 2
Метки (Все метки)

Как я понимаю, спецификатор доступа задается только в том классе, где функция объявляется виртуальной? Получается во время исполнения не проверяется спецификатор доступа? Ну вот например код:

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;
}
Просто у Дейтелов по этому вопросу ничего не нашел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru