История изменений
Исправление aleksey_tulinov, (текущая версия) :
A <- B <- C <- D
Если мне не изменяет память, то трюк именно в том чтобы расположить родительскую структуру первой в дочерней структуре, тогда схема D должна выглядеть как-то так:
[ A x y z u v ] B a b c ] C ... ] D r g b ]
^ ^ ^
| | |
указатель p здесь B(*p) C(*p)
как из функций класса D обращаться к полям класса A?
(A*)(this)->x
?
Я не помню все эти премудрости в деталях, это псевдокод, но как-то так это и делается.
По теме: документация к OOC выглядит немного запущенной, у них на странице указан std::auto_ptr
, его из С++ уже успели удалить. Мне казалось, что лет 10 назад, но на самом деле 10 лет назад он стал deprecated, а удалили его года 3 назад. Возможно стоит глянуть в историю комитов, когда там были последние изменения.
Исходная версия aleksey_tulinov, :
A <- B <- C <- D
Если мне не изменяет память, то трюк именно в том чтобы расположить родительскую структуру первой в дочерней структуре, тогда схема D должна выглядеть как-то так:
[A x y z u v ] B a b c ] C ... ] D r g b ]
^ ^ ^
| | |
указатель p здесь B(*p) C(*p)
как из функций класса D обращаться к полям класса A?
(A*)(this)->x
?
Я не помню все эти премудрости в деталях, это псевдокод, но как-то так это и делается.
По теме: документация к OOC выглядит немного запущенной, у них на странице указан std::auto_ptr
, его из С++ уже успели удалить. Мне казалось, что лет 10 назад, но на самом деле 10 лет назад он стал deprecated, а удалили его года 3 назад. Возможно стоит глянуть в историю комитов, когда там были последние изменения.