![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Iron Bug |
![]()
Сообщение
#1
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Я тут сегодня ковыряла темплейты. Понадобилось очень. И всё получилось.
Может, кому пригодится. Объявление темплейтного френда для темплейтов. Раскрывающийся текст
|
|
|
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
а зачем понадобилось friend, почему бы просто членом класса функцию foo не сделать ?
|
|
|
Iron Bug |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
потому что в реальности всё гораздо сложнее и там несколько классов и много параметров.
а это просто маленький пример объявления френдов для темплейта. я вот подлня убила на то, чтобы просечь, как его формально описать. к тому же, у меня там есть операторы и чтобы получить lvalue в результате операции и иметь возможность писать цепочные выражения, нужно применять именно friend функции, а не методы класса. Сообщение отредактировал Iron Bug - 22.3.2011, 13:25 |
|
|
kwisp |
![]()
Сообщение
#4
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
эту тему Герб Саттер рассматривает в своей книге "40 новых задач по С++" по-моему так она называется. завтра на работе посмотрю как точно называется.
там много тонкостей с переносимостью на другие компиляторы если нужна, с пространствами имен .... |
|
|
Алексей1153 |
![]()
Сообщение
#5
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Iron Bug, то есть, в общем виде, получается так
Сообщение отредактировал Алексей1153 - 23.3.2011, 7:39 |
|
|
Iron Bug |
![]()
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.6.2025, 16:30 |