![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Searcher |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здраствуйте, хотелось бы узнать внутреннее представление экземпляров f1,f2 объекта four.
Вот описание: one=object Заранее спасибо! Про теги не забывай Сообщение отредактировано: volvo - 4.02.2009 16:44 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Что именно вызывает у тебя сложность? Наличие VMT?
|
Searcher |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Я так понимаю VMT для этих 2-ух экземпляров одна. VMT вообще всегда одна (для каждого объектного типа), она относится к типу, а не к экземпляру...Будет вот так: Поле X Адрес VMT Поле Y Собственно VMT: Первое слово = Sizeof(T) + Sizeof(T) + 2 Второе слово = -(Sizeof(T) + Sizeof(T) + 2) @M1 @M4 Сообщение отредактировано: volvo - 4.02.2009 17:21 |
Searcher |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так ведь методы M2 и M3 не виртуальные. Разве они в VMT?
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Сорри, да, я ошибся, поправил...
|
Searcher |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
А вот так правильно?
Код f1: f2: Поле Х Поле Х Поле Y Поле Y @Four.M3 @Four.M3 @VMT @VMT VMT: ... @one.M1 @four.M4 А @two.M2 не будет в обоих экземплярах? Сообщение отредактировано: Searcher - 4.02.2009 17:28 |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата А @two.M2 не будет в обоих экземплярах? Будет, перед @four.M3 (в порядке определения - ну, или добавления - методов)... Я просто не стал приводить статические методы, привел только поля, и методы виртуальные... |
Searcher |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Будет, перед @four.M3 (в порядке определения - ну, или добавления - методов)... Я просто не стал приводить статические методы, привел только поля, и методы виртуальные... Спасибо. Теперь понял. Позже задам вопрос насчёт внутреннего представления экземпляров классов в делфи с динамическими и виртуальными методами с переопределением в потомках. |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 6:32 |