efine SECURITY.H #i nclude
Автор admin
Воскресенье, 14 июня 2009 11:32
efine SECURITY.H #i nclude class Security { public: virtual ~Security(){} }: class Stock : public Security {}; class Bond : public Security {}: class Investment : public Security { public: void special О { std::cout « “special Investment function” « std::endl: } }: class Metal : public Investment {}: #endif // SECURITY_H 11 I’ll: C08:CheckedCast2.cpp // Использование RTTI и dynamic_cast #i nclude #include “../purge.h” #include “Security.h” using namespace std; int mainO { vector portfolio: portfolio.push_back(new Metal): portfolio.push_back(new Investment): portfolio.push_back(new Bond): В компиляторах Microsoft поддержку RTTI приходится специально активизировать; по умолчанию она отключена. Для этой цели используется ключ командной строки /GR. Преобразования типов на стадии выполнения 429 Компилятор обычно вставляет указатель на таблицу RTTI класса в таблицу виртуальных функций. portfolio.push_back(new Stock): for (vector::iterator it = portfolio.begin(): it !- portfolio.end(): ++it) { Investment* cm – dynamic_cast(*it): if(cm) cm->specialО: else
Теги: net
Комментарии закрыты.
Автор admin Воскресенье, 14 июня 2009 11:32
efine SECURITY.H #i nclude
Комментарии закрыты.
Последние комментарии