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

Приведение типов (классы) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необработанное исключение в "0x013f2b22" в "123.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd" http://www.cyberforum.ru/cpp-beginners/thread952710.html
Вот функция для удаления столбца: #pragma once #include <iostream> using namespace std; int **DeleteIndexCol(int **ar,int s1,int &s2,int n) { int **big=new int *; for (int...
C++ Неудачная компиляция и постройка проекта в Code Blocks Здравствуйте! Вот не так давно решил изучать синтаксис C, так что можно назвать меня новичком До этого изучал конечно же Паскаль Купил книги, сел, стал писать. Но скоро столкнулся с проблемой,... http://www.cyberforum.ru/cpp-beginners/thread952704.html
C++ Подсчет ряда С++
Доброго времени суток! Есть такая занимательная задача: посчитать приближенное значение, на промежутке Х , c шагом 0.05, и точностью 0.001. Прошу подсказать ход решения, так как зашел в тупик. То...
Создание бота для игры. С чего начать? посоветуйте направление) C++
Здравствуйте. Хотелось бы попросить у вас совета и подсказки куда копать. Имеется небольшое количество знаний (Прочтена книга Шилда Базовый курс С++, полностью осмыслена и понята.) Имеется желание...
C++ Проектирование программы http://www.cyberforum.ru/cpp-beginners/thread952674.html
Здравствуйте! Подскажите пожалуйста, какими средствами эффективнее проектировать и рекодить программу? Тема стала актуальна с увеличением кода... Как только в программу нужно добавить какую-либо...
C++ Массив треугольников (блок-схема и псевдокод Найти суммарную площадь для N равнобедренных треугольников, имеющих одинаковое основание А, но различные длины боковых сторон, образующие прогрессию А+1, А+2, А+3 ... А+N. Нужно составить только... подробнее

Показать сообщение отдельно
gore-lykovoe
32 / 32 / 1
Регистрация: 04.04.2010
Сообщений: 414

Приведение типов (классы) - C++

11.09.2013, 21:57. Просмотров 386. Ответов 4
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class B { 
    virtual void f() {} 
}; 
 
class V { 
    virtual void g() {} 
}; 
 
class X { 
}; 
 
class D : public B, virtual public V, virtual public X { 
}; 
 
int main() { 
    D d; 
    V* pv = &d; 
    D* p4 = dynamic_cast<D*>(pv);        // 1 
    X* px = &d; 
    D* p6 = dynamic_cast<D*>(px);        // 2
Почему для компилирования строки 1 - информации достаточно. А для строчки 2 - нет. Из-за того что в классе X нету виртуальной функции. Но причем тут она?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru