Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Как установить дружественную связь между классом и шаблоном класса?

#cpp #классы #шаблоны_с++


Как можно установить дружественную связь между обычным классом и шаблоном класса?

Допустим у нас есть шаблон класса MyArray template  class 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; };

Комментариев нет:

Отправить комментарий