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

Как явно преобразовать указатель? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Смена адреса расположения файла через консоль в system http://www.cyberforum.ru/cpp-beginners/thread944479.html
Добрый день. У меня файл находится по пути, указанному ниже и меня все устраивает, но есть некоторые проблемы. Во-первых, у других людей другой путь до файла, а во-вторых, IP-адрес меняется. ...
C++ Запись в vector с последующим чтением Добрый день! Хочу реализовать программу, которая записывает в vector элементы последовательности Фибоначчи, а потом считывает их. Мой код компилируется без ошибок, но при запуске после ввода x, y... http://www.cyberforum.ru/cpp-beginners/thread944460.html
Массивы (найти ошибку в коде) C++
В чем проблема? #include <iostream> using namespace std; int main() { int a; cin >> a; int *b = new int ;
C++ Умный указатель
Не могу понять тему с перегрузкой оператора селектор и найти понятное объяснение этой темы. А так же реализацию умного указателя. Скиньте ссылку где есть описание понятным языком, или объясните...
C++ Найти пустой элемент в Массиве http://www.cyberforum.ru/cpp-beginners/thread944390.html
Добрый день , есть двумерный массив , нужно найти в нем пустой элемент проверуки типа if (a == NULL ) Не работают. Дайте совет
C++ Двунаправленный связанный список, деструктор, утечка памяти Делаю свой двунаправленный связанный список, основу взял от сюда (сам код, там 3 списка, во всех деструкторы одинаковые) - http://iguania.ru/stati-po-programmirovaniiu/svyazanniy-spisok.html Там... подробнее

Показать сообщение отдельно
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 351

Как явно преобразовать указатель? - C++

27.08.2013, 18:19. Просмотров 617. Ответов 9
Метки (Все метки)

Здравствуйте!

Изучая возможности наследования столкнулся со следующим утверждением: "Если для объекта производного класса объявить какой-то метод, который не принадлежит базовому классу, то невозможно получить доступ к этому методу, используя указатель на базовый класс, если только этот указатель не будет явно преобразован в указатель производного класса. Всегда можно преобразовать любой указатель базового класса в указатель производного класса".
Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std; 
 
class One
{
};
 
class Two : public One
{
public:
    void func() {cout << "\n0(-_o)0\n";}
};
 
int main()
{
One * ptr = new Two;
//(*ptr).Two::func();
return 0;
}
Каким образом можно, преобразовав указатель, вызвать функцию func()?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru