Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 22

Вывод содержимого VMT

24.11.2016, 22:19. Показов 935. Ответов 5

Студворк — интернет-сервис помощи студентам
Всем здраствуйте! Задание по ООП - вывести адреса памяти объектов на консоль, что я выполнить сумел! Но вывести VMT не удалось - просто не знаю как это сделать((( Вот код который выводит размеры 4 объектов с наследованием друг от друга и адреса их полей! Структура VMT как было сказано выводится как то через указатель на объект при этом нужно отображать карту памяти по 4 байта "на лево и на право"! Вот мой код на данный момент(описание классов думаю не надо т. к. там базовый класс 3 поля 2 виртуальных функции а у первого наследуемого 4 поля и 2 виртуальных функции ):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
int main(void)
{
    int* p;
    int i, j, s;
    setlocale(LC_ALL, "Russian");
 
    CPoint MyPoint1(100, 100, 11);
    CCircle MyCircle1(200, 300, 9, 10);
    CCircleSquare MyCCircleSquare1(300, 100, 13, 37);
    CCircleSquareCircle MyCCircleSquareCircle1(350, 100, 18, 12);
 
    p = (int*)&MyPoint1;
    s = sizeof(MyPoint1);
    printf("MyPoint1 size = %d, pointer = %p\n", "s = ", s, "p = ", p);
    for (j = 0; j < s / 4; j++)
        printf("%8x\n", *(p + j));
    cout << "\n";
    
    p = (int*)&MyCircle1;
    s = sizeof(MyCircle1);
    printf("MyCircle size = %d, pointer = %p\n", "s = ", s, "p = ", p);
    for (j = 0; j < s / 4; j++)
        printf("%8x\n", *(p + j));
    cout << "\n";
 
    p = (int*)&MyCCircleSquare1;
    s = sizeof(MyCCircleSquare1);
    printf("MyCircleSquare size = %d, pointer = %p\n", "s = ", s, "p = ", p);
    for (j = 0; j < s / 4; j++)
        printf("%8x\n", *(p + j));
    cout << "\n";
 
    p = (int*)&MyCCircleSquareCircle1;
    s = sizeof(MyCCircleSquareCircle1);
    printf("MyCircleSquareCircle size = %d, pointer = %p\n", "s = ", s, "p = ", p);
    for (j = 0; j < s / 4; j++)
        printf("%8x\n", *(p + j));
    cout << "\n";
    system("PAUSE");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.11.2016, 22:19
Ответы с готовыми решениями:

Приведение типов, VMT
День добрый! Очередной глупый вопрос. Хочется через точку запускать метод потомка, как в примере с указателем. Мои предполагаемые пути...

Вывод содержимого файла
Есть программа, вот код: #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; struct Abon { char name; int god; ...

Вывод содержимого map
#include &lt;vcl.h&gt; #include &lt;string&gt; #include &lt;map&gt; #include &lt;iostream&gt; #pragma hdrstop #include &lt;tchar.h&gt; using namespace...

5
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 22
24.11.2016, 22:22  [ТС]
Вот собственно вывод в консоли(вроде как все правильно):
Миниатюры
Вывод содержимого VMT  
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
24.11.2016, 22:35
Это не документировано же, стандартных средств для такого нет.
0
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 22
24.11.2016, 22:37  [ТС]
То есть, Вы намекаете на WinAPI? Наш учитель вроде такого не говорил(((
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
24.11.2016, 22:40
Нет, я говорю, что внутренняя реализация объектов зависит от разработчика компилятора.
0
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 22
24.11.2016, 23:09  [ТС]
У меня Visual Studio 2015 v140!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.11.2016, 23:09
Помогаю со студенческими работами здесь

Вывод содержимого map
Есть класс BigInt - класс длинных чисел: class BigInt { int nmb; char sing; int size; void Reverse(); public:...

Вывод содержимого в файле
Как можно вывести текст с файла на экран и вычеслить количество пробелов построчно? Это мои наброски: #include&lt;stdio.h&gt; ...

Вывод содержимого файла построчно
Требуется вывести содержимое файла на экран. Но так, чтоб это выполнялось с каждой строкой отдельно. Вот написал начало, а дальше уже...

буфер (вывод содержимого на экран)
нужно вывести содержимое буфера на экран (для проверки). в сети нашла только пример записи в буфер. подскажите пожалуйста,как написать...

Некорректный вывод содержимого из файла
Слова вроде переносит... но на выводе элементов (ну по тексту смотреть, если. Элементы списка....) - криво выводит string str;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru