Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод сортировки Шелла и Выбора - реализация и сравнение https://www.cyberforum.ru/ cpp-beginners/ thread1657165.html
Доброго времени суток. Задание тут одно, просто по пунктам. 1. Написать программу реализации методом Выбора 2. Написать программу методом Шелла 3. Сгенерировать три массива (10, 100, 1000)...
Realloc выделяет память для массива int и не выделяет память для массива double C++
Скажите пожалуйста, почему вот этот код работает: #include <iostream> #include <windows.h> using namespace std; int main() { setlocale(LC_ALL,"Russian");
C++ Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями https://www.cyberforum.ru/ cpp-beginners/ thread1657153.html
Помогите пожалуйста, другу нужна помощь, а мне делать лень. Array104. Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). Перед элементом массива с номером K...
C++ Возвести в квадрат все его локальные минимумы Помогите пожалуйста, другу нужна помощь, а мне делать лень. Array77. Дан массив размера N. Возвести в квадрат все его локальные минимумы (то есть числа, меньшие своих соседей). https://www.cyberforum.ru/ cpp-beginners/ thread1657152.html
Найти количество инверсий в данной перестановке заданного массива C++
Помогите пожалуйста, другу нужна помощь, а мне делать лень. Array50. Дан целочисленный массив A размера N, являющийся перестановкой (определение перестановки дано в задании Array49). Найти...
C++ Найти среднее арифметическое всех элементов массива, кроме элементов удовлетворяющих условию Помогите пожалуйста, другу нужна помощь, а мне делать лень. Array23. Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N). Найти среднее арифметическое всех элементов массива, кроме элементов с... https://www.cyberforum.ru/ cpp-beginners/ thread1657150.html
C++ Open Watcom нет перегрузки для оператора ввода для типа std::string https://www.cyberforum.ru/ cpp-beginners/ thread1657145.html
Решил использовать компилятор Open Watcom C++ и в результате не компилируется проект. Проект прилагается
C++ Даны значения температуры воздуха
1. Даны значения температуры воздуха по Цельсию ежечасно в течение суток (вещественные значения генерируются случайно в динамический массив в зависимсоти от времени года в следующих промежутках: лето...
C++ Для введенной с клавиатуры строки найти энтропию https://www.cyberforum.ru/ cpp-beginners/ thread1657125.html
1. Для введенной с клавиатуры строки найти энтропию. Энтропия вычисляется по формуле , гле Pi – вероятность встретить i-ую букву. Пример. Дана строка – «мама мыла раму». Количество букв, включая...
C++ Зашифровать и расшифровать строку 6. Зашифровать и расшифровать введенную с клавиатуры строку, используя добавление к коду каждого символа целой фиксированной величины k. Протестировать программу с k = 250. https://www.cyberforum.ru/ cpp-beginners/ thread1657122.html
Проверить является ли введенная с клавиатуры строка палиндромом C++
3. Проверить является ли введенная с клавиатуры строка палиндромом (читается одинаково в прямом и обратном порядке) без учета пробелов и регистра. Проверить на примере – «А роза упала на лапу Азора».
C++ Во введенной строке заменить все большие буквы на маленькие 1. Во введенной строке с клавиатуры заменить все большие буквы на маленькие (предполагается, что коды букв не известны; при преобразованиях нужно использовать разность вида: ‘большая буква’ – ‘малая... https://www.cyberforum.ru/ cpp-beginners/ thread1657120.html
Эксперт С++
8704 / 4251 / 946
Регистрация: 15.11.2014
Сообщений: 9,641
07.02.2016, 19:58 0

Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса - C++ - Ответ 8723501

07.02.2016, 19:58. Показов 1191. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено VaMpIr_DEX как решение

Решение

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
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <typeinfo>
 
 
// Класс В является производным от класса А. 
// Определить обработчик исключительной ситуации на преобразование указателя базового класса А 
// на указатель производного класса В.
 
int main()
{
    struct A { virtual ~A(){} };
    struct B: A {};
    struct C: A {};
    
    std::cout << "Hello, world!\n";
    
    try{
        
        A* p = new C;  //<--- создаем С
        
        
        B& b = dynamic_cast<B&>(*p); // а кастим к B
        // каст не правомерный 
        // потому что нельзя кастить к B,
        // если по факту там C        
    }
    catch(std::bad_cast& e)
    {
        // сработает защита времени выполнения
        // и мы сможем узнать причины
        std::cerr << e.what()<<std::endl;
    }
}


Вернуться к обсуждению:
Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 19:58
Готовые ответы и решения:

Создание указателя типа базового класса на экземпляр производного класса
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса -...

Указатель на объект базового класса и адрес объекта производного класса
Пример кода: class Class1 { public: Class1(int x) { j = new int; *j = x; }...

Вызов виртуального метода базового класса из указателя производного
Допустим есть такой код: #include &lt;iostream&gt; class Base { public: virtual void f() {...

Почему объект производного класса не видит префиксный оператор из базового класса?
Короче создал я базовый класс с перегруженным префиксным оператором ++. Потом чтоб его...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2016, 19:58
Помогаю со студенческими работами здесь

Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp,...

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект...

Вызвать конструктор производного класса без конструктора базового класса
Здравствуйте! У меня есть базовый класс треугольник и производный класс равносторонний...

Что происходит когда передается в функцию базового класса аргумент с типом производного класса?
Есть функция перегруженного оператора&quot;+&quot; в производном классе и в базовом классе который принимает...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru