tag:blogger.com,1999:blog-654279083390275842.post2928281261597709030..comments2024-03-19T12:22:43.654+03:00Comments on Размышлизмы eao197: [prog.c++] Продолжение истории про parent/child и удаление child-а из метода самого child-аeao197http://www.blogger.com/profile/17283739752119445290noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-654279083390275842.post-16907433504232371702020-07-22T08:59:46.275+03:002020-07-22T08:59:46.275+03:00@Unknown
Я не понял в чем смысл отделения child-а...@Unknown<br /><br />Я не понял в чем смысл отделения child-а от child_interface. Ведь вся прикладная работа исполняется в наследниках child-а и именно оттуда инициируются операции замены текущего child-а новым child-ом.<br /><br />Далеко не всегда эта замена будет происходить именно в on_start/on_timer.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-9282720501420566752020-07-21T12:24:07.499+03:002020-07-21T12:24:07.499+03:00Раз уж Вы дошли до введения в child отдельных мето...Раз уж Вы дошли до введения в child отдельных методов, рекомендую отделить класс child от наследников, заодно можно будет решить и исходную проблему.<br />То есть будет чтото типа <br /><br />class child {<br />private:<br /> child_interface *child;<br />public:<br /> void on_start() {<br /> child->on_start();<br /> auto *parent = child->getParent();<br /> auto *newChild = child->getNewChild();<br /> parent->setNewChild(newChild);<br /> child = newChild;<br /> }<br /><br />Хотя такая схема кажется тоже избыточная, чтото кажется, что в этом случае parent и child выполняют одинаковую работу. Но основная идея именно такая.<br /><br /> svhttps://www.blogger.com/profile/07320513777819641708noreply@blogger.com