Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.142.124.252] |
|
Сообщ.
#1
,
|
|
|
Создаю главный класс TObject и кучу потомков TObjectN. Затем создаю коллекцию для всех этих объектов (понятно, что ссылка на каждого сына идет как на TObject). В метод Add передается объект (потомок), приведенный к TObject, создаю динамически экземпляр TObject и ему присваиваю параметр (замечу, что в TObject все методы виртуалы, и их число в потомках не меняется). Будут ли правильно присвоены поля и будет ли правильно создана vtbl?????
|
Сообщ.
#2
,
|
|
|
Ну так посмотри будет или нет.
IMHO, нет. IMnsHO, так не делают. В TObject введи виртуальный метод TObject* CreateCopy() = 0; И в потомках его реализуй. А если прибило именно через з. проход и, если действительно, одинаковое кол-во свойств и виртуальных методов, то вместо приравнивания используй ::MoveMemory()... Так красивее будет. P.S. TObject - мы же говорим о ООП и классах, а не о C++Builder... правда? |