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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать запись http://www.cyberforum.ru/cpp-beginners/thread982040.html
Сформировать запись "MAGAZIN",содержащую сведения об ассортименте игрушек:название игрушки,цена,количество,возрастные границы (например от 2 до 5 лет).Используя сформированную запись,вывести на экран и записать в файл следующие сведения:название игрушек,которые подходят детям от 1 до 3 лет,стоимость самой дорогой игрушки и её наименование.Определить стоимость всех игрушек по возрастным категориям...
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> const n=100;
C++ Массивы слов
Здравствуйте, нужна помощь. Требуется выполнить следующее задание: В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова через запятую, заключив печатаемую строку в скобки. Длина печатаемой строки N символов. Извлечение слова оформить в виде функции. Например: исходные данные: - 123023402303450 234450234567010...
C++ Подскажите, где ошика? http://www.cyberforum.ru/cpp-beginners/thread982023.html
Я новичок. Создал обычную ф-ию на шоб вычесляла, существует ли треугольник аbc(а+b>c,c+b>a,c+a>b). если да, то пусть посчитает его периметр, площадь. После этого пуст напишет на экране Yes,периметр и площадь. если нет, то пусть напечатает на экране No. Вот ф-ия: #include <iostream.h> #include <math.h> int main() { int a,b,c,p,P,S=0; x: cin>>a>>b>>c; if(a+b>c||a+c>b||c+b>a) { p=a+b+c;
C++ Просклонять слово "Час" Просклонять слово "Час" в зависимости от введенного времени на часах. Например: 1 час; 2 часа; 5 часов; ... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
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
 
Текущее время: 22:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru