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

Полиморфизм и private методы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура проекта http://www.cyberforum.ru/cpp-beginners/thread939594.html
Приветствую всех! В общем интересует меня вот что: структура проектов с большим количеством файлов. Обычно у меня один класс - один хедер и один или несколько cpp. Но когда проект разрастается,...
C++ Компиляция dll на win8x64 и ошибка на winXP Компилирую длл библиотеку на Windows 8 (x64), потом пытаюсь воспользоваться на windows xp и вылеатет Точка входа в процедуру GetTickCount64 не найдена в библиотеке DLL KERNEL32.dll. http://www.cyberforum.ru/cpp-beginners/thread939593.html
C++ Альтернатива if (.) {.} (тернарный оператор)
блин запамятовал как это делается пишут вместо стандартной формы что то типа y < x : x = m напомните плиз как это называется, какие там правила
Проверка валидности в libxml++ C++
Подскажите, как с помощью этой библиотеки можно проверить валидность документа на соответствие XML. Вариант через исключение при создании не годится, т.к. в этом случае libxml++ выводит в поток...
C++ ошибка компиляции Code::Blocks 12.11 http://www.cyberforum.ru/cpp-beginners/thread939528.html
Доброго времени суток. Установил Code::Blocks 12.11. до этого пользовалься десятой версией. проблема в том, что компиляция не проходит, если рядом с срр-файлом лежит ехе, скомпилиованный до этого....
C++ реализация класса в .h файле хорошо или плохо? все знакомые мне ide разделяют класс на два файла: .h с описанием и .cpp с кодом, но, например, в boost .hpp файлы почти всегда содержат и реализацию классов, т.е. так тоже можно. так в чем тогда... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
18.08.2013, 03:43
Care, Нет, не изменяет. Ведь, если мы создадим объект типа Two - мы не сможем вызвать данную функцию.
Здесь же вызывается по факту функция класса Abstract, но т.к. она виртуальная - вызывается переопределенная.
n3376 11.5/1
The access rules (Clause 11) for a virtual function are determined by its declaration and are not affected by
the rules for a function that later overrides it.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class B {
public:
virtual int f();
};
class D : public B {
private:
int f();
};
void f() {
D d;
B* pb = &d;
D* pd = &d;
pb->f(); // OK: B::f() is public,
// D::f() is invoked
pd->f(); // error: D::f() is private
}
n3376 11.5/2
Access is checked at the call point using the type of the expression used to denote the object for which the
member function is called. The access of the member function in the class in
which it was defined is in general not known.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru