|
Материалы книги получены с http://www.itlibitum.ru/
Множественная передача
Когда речь заходит об иерархии классов, сразу же хочется разразиться трескучей речью об объектно-ориентированном дизайне. Однако я справлюсь с искушением и ограничусь лишь той частью темы, которая развивает потенциал С++, а именно гомоморфными иерархиями. За длинным термином прячется простая концепция - иерархия классов с одинаковым открытым интерфейсом, унаследованным от общего базового класса. Суть проста, но возможности огромны.
Немедленно возникает первый вопрос: как выполнять передачу вызовов функций, когда единственное, что вам известно об аргументах, - все они происходят от некоторого общего предка? «Силовое» решение с конструкцией switch/case, нередко встречающееся в реальных программах, обычно удается заменить намного более элегантной, быстрой и простой в сопровождении архитектурой, известной под названием множественной передачи (multiple dispatch). В этой и следующей главе мы временно отвлечемся от навязчивой темы - указателей. Поклонники указателей, не отчаивайтесь! В главе 12 гомоморфизм и умные указатели объединятся в новой разновидности умных указателей… настолько умных, что вы даже не будете подозревать об их присутствии.
Назад Содержание Далее
|