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

Dynamic_cast и полиморфизм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализация связанного списка http://www.cyberforum.ru/cpp-beginners/thread1214878.html
в учебнике Каррано "Абстракция данных: стены и зеркала." есть пример реализации абстрактного списка в виде массива. как реализовать главную функцию вызова методов? (печать на экран списка, проверка на пустоту, определение длины списка) ListA.h const int MAX_LIST = 10; typedef int ListItemType; class List { public: List(); bool isEmpty() const; //определяет пуст ли список
C++ В массиве из 4 строк и 3 столбцов найти наименьший элемент каждого столбца В массиве из 4 строк и 3 столбцов найти наименьший элемент каждого столбца http://www.cyberforum.ru/cpp-beginners/thread1214841.html
C++ Упорядочить элементы строк матрицы с четными номерами по убыванию
Здравствуйте , помогите пожалуйста дан двумерный массив размером М*N. Упорядочить элементы строк с четными номерами по убыванию. Ввод данных осуществлять с клавиатуры, вывод исходного массива и результатов- в файл.
C++ Vector subscript out of range
Привет, друзья, у меня следующая проблема: if (!MeteorVec.empty()) { for (int i = 0; i < MeteorVec.size(); i++) { MeteorVec->Moove(); if (RectCrossesRect (bullet->borderRect, MeteorVec->borderRect)) { MeteorVec->GetsDestroyed(hwnd); bullet->Dissapears();
C++ Почему sizeof массива char равно 4? http://www.cyberforum.ru/cpp-beginners/thread1214817.html
Почему sizeof ch3 равно 4? #include <iostream> #include <cstring> int main() { char ch1 = "Cpp"; char ch2 = {'C', '+', '+', '\0'};
C++ Создать массив указателей с возможностью удаления любого элемента Привет, друзья! Мне в одной программе нужно было создать массив указателей с возможностью удаления любого элемента, сделал с помощью vector. Схематично делал примерно так: vector<Base*>arr; Base* a = new Base; arr.push_back(a); a = new Base; arr.push_back(a); a = new Base; arr.push_back(a); ... подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
23.06.2014, 10:40     Dynamic_cast и полиморфизм
Не очень красиво, но суть такая:
C++
1
2
3
4
5
6
7
8
9
10
11
catch(Sales::bad_index & bad)
{
   try {
      LabeledSales::nbad_index& nbad = dynamic_cast<LabeledSales::nbad_index&>(bad);
      // используем nbad
   }
   catch( std::bad_cast& ) // не удалось выполнить dynamic_cast, т.е. bad не является LabeledSales::nbad_index
   {
       // используем bad как Sales::bad_index
   }
}
 
Текущее время: 06:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru