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

как устроена динамическая идентификация типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать запись http://www.cyberforum.ru/cpp-beginners/thread982040.html
Сформировать запись "MAGAZIN",содержащую сведения об ассортименте игрушек:название игрушки,цена,количество,возрастные границы (например от 2 до 5 лет).Используя сформированную запись,вывести на экран...
C++ Реакция на раскладку на if(key=='w') { TranslatefX=TranslatefX+30; } реагирует http://www.cyberforum.ru/cpp-beginners/thread982039.html
Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” C++
Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” #include <stdio.h> #include <conio.h> #include <string.h> #include<iostream.h> #include<fstream> ...
C++ Массивы слов
Здравствуйте, нужна помощь. Требуется выполнить следующее задание: В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова...
C++ Подскажите, где ошика? http://www.cyberforum.ru/cpp-beginners/thread982023.html
Я новичок. Создал обычную ф-ию на шоб вычесляла, существует ли треугольник аbc(а+b>c,c+b>a,c+a>b). если да, то пусть посчитает его периметр, площадь. После этого пуст напишет на экране Yes,периметр и...
C++ Просклонять слово "Час" Просклонять слово "Час" в зависимости от введенного времени на часах. Например: 1 час; 2 часа; 5 часов; ... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
19.10.2013, 22:32
ну например в MFC все классы созданы от CObject а там лежит информация о классе(CRUNTIMECLASS)
и есть специальный метод GetRuntimeClass который возвращает ссылку на эту информацию
вот как она устроена
Имеется одна структура CRUNTIMECLASS для каждого класса унаследованного от CObject. Элементы структуры следующие:
LPCSTR m_lpszClassName - Строка с нулевым символом в конце, содержащая имя класса ASCII.
Int m_nObjectSize - Размер объекта, в байтах. Если объект имеет элементы данных,которые указывают на распределенную память, размер той памяти не включен.
UINT m_wSchema - Номер схемы (- 1 для классов не умеющих преобразовываться в последовательную форму). См. макрокоманду IMPLEMENT_SERIAL для описания номера схемы.
CObject * (PASCAL* m_pfnCreateObject) () - Указатель функции к заданному по умолчанию конструктору, который создает объект вашего класса (допустимый только если класс поддерживает динамическое создание, иначе возвращает NULL).
CRUNTIMECLASS* (PASCAL* m_pfn_GetBaseClass) () - Если ваше приложение динамически связано с AFXDLL версией MFC, указатель на функцию, которая возвращает структуру CRUNTIMECLASS базового класса.
CRUNTIMECLASS* m_pBaseClass - Если ваше приложение статически связано с MFC, указатель на структуру CRUNTIMECLASS базового класса.
http://www.firststeps.ru/mfc/steps/help/r.php?638
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru