#cpp #классы #шаблоны_с++
Как можно установить дружественную связь между обычным классом и шаблоном класса? Допустим у нас есть шаблон класса MyArray templateclass MyArray; и обычный класс ArrayEditor class ArrayEditor; Каким образом я могу установить между ними дружественную связь (friend class): Между классом ArrayEditor и всеми экземплярами шаблона MyArray? Между классом ArrayEditor и конкретным экземпляром (например int или string)?
Ответы
Ответ 1
Между нешаблонным классом NotemplateClass и общим шаблоном класса TemplateClass: template class TemplateClass{}; class NotemplateClass { template friend class TemplateClass; }; Между нешаблонным классом NotemplateClass и явной специализацией шаблонного класса TemplateClass : template class TemplateClass{}; template <> class TemplateClass {}; class NotemplateClass { friend class TemplateClass ; };
Комментариев нет:
Отправить комментарий