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

Как реализован полиморфизм? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как добавить CRecordVIew в проект VC7.0 http://www.cyberforum.ru/cpp-beginners/thread474717.html
Подскажите пожалуйста как добавить CRecordVIew в проект VC7.0 В 6 версии готовился шаблон диалога далее вызывался CLassWizard с помощью которго добавлялся CRecordView и связывался с CRecordset. ...
C++ подскажите с выбором языка В данный момент изучаю ассемблер, потом хочу выучить выссокий язык для создания игр типа star craft'a или cs помогите выбрать язык который лучше всего справляется с этим и проще всего делать такие... http://www.cyberforum.ru/cpp-beginners/thread474673.html
C++ Проблема с выводом bitmap-ов на принтер...
Вобчем, дело такое. берем любой экранный DC например форму. берем любой битмап - например из ресурсов берем самый стандартный BitBlt - все пучком, через не раз описанный memDC все работает. ...
C++ Как программно сжать директорию или несколько файлов?
нужно программно сжать директорию или несколько файлов то что я нашел в сети сжимает только один файл подскажите если кто знает
C++ Как сделать Enable ComboBox в ATL (CWindow)? http://www.cyberforum.ru/cpp-beginners/thread474513.html
Добрый день! Проблема в следующем: есть ComboBox, надо сделать его Enable. Я пишу:SendDlgItemMessage(IDC_COMBO1,WM_ENABLE,FALSE,0). Но это что-то не работает! Не знаете, в чем дело? Спасибо!
C++ Хочу получить исполняемый файл в OpenWatcom C++ Я новичок Скачал OpenWatcom C++ Теперь хочу получить исполняемый файл. Беру такую програмку: //============= #include <iostream.h> void main( void ) { cout << 'Hello world' << endl; } подробнее

Показать сообщение отдельно
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,103
Записей в блоге: 4
21.03.2009, 19:22
Классы, которые содержат виртуальные функции члены или наследуют их компилируются особым образом:

1. Каждая функция такого класса содержит дополнительный скрытый от пользователя параметр, который будет содержать указатель на таблицу виртуальных функций, то есть на массив, содержащий адреса входов во все виртуальные функции доступные из класса.

2. При компиляции функции члена обращение к виртуальной функции осуществляется не по имени функции а по ее номеру в таблице виртуальных функций.

3. Для каждого класса, исользующиего виртуальные функции строится таблица (глобальный статический массив), которая содержит ссылки на функции члены виртуальных классов (возможно принадлежащие различным классам в иерархии наследования классов).

4. При компиляции вызова любой функции-члена компилятору доступно имя класса, которому принадлежит объект (или указатель на объект), поэтому он просто закладывает в код передачу в виде константы ссылки на таблицу соответствующего класса.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru