туальных деструкторов в обоих

Автор admin Воскресенье, 21 июня 2009 11:32

туальных деструкторов в обоих интерфейсах — это сделано для того, чтобы уничтожение объектов никогда не выполнялось через интерфейс. Конструктор Outer содержит закрытые данные (name). Мы хотим, чтобы он предоставлял интерфейсы Poingable и Bingable, чтобы его можно было использовать с функциями callPoing() и callBing() (в этой ситуации можно прибегнуть к множественному наследованию, но для простоты мы обходимся без него). Чтобы предоставить объект Poingable без объявления Outer производным от Poingable, мы задействуем идиому внутреннего класса. Сначала объявление class Inner указывает на то, что где-то существует вложенный класс с указанным именем. Это позволяет объявить класс дружественным в следующей строке. Наконец, после предоставления вложенному классу доступа ко всем закрытым элементам Outer можно переходить к определению класса. Обратите внимание: в классе хранится указатель на создавший его объект Outer, и этот указатель должен инициализироваться в конструкторе. В завершение реализуется функция poing() из класса Poingable. Затем процесс повторяется для второго внутреннего класса, реализующего Bin


Комментарии закрыты.