Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.14.7 Друзья





Функция-друг для шаблона типа не является неявной шаблонной функцией,например: template<class T> class task { //... friend void next_time(); friend task<T>* preempt(task<T>*); friend task* prmt(task*); // ошибка //... }; Здесь функция next_time() становится другом всех классов task, акаждый класс task имеет в качестве друга функцию preempt() cсоответствующими типами параметров. Функцию preempt() можноопределить как шаблон типа. template<class T> task<T>* preempt(task<T>* t) { /*... */ } Описание функции prmt() является ошибочным, поскольку типаtask не существует, а есть только специальные шаблонные типыtask<int>, task<record>, и т.д.

R.14.8 Статические члены и переменные

Для каждого шаблонного класса или функции, создаваемых по шаблонутипа, образуется своя копия статических переменных или членов.Рассмотрим пример: template<class T> class X { static T s; //... }; X<int> aa; X<char*> bb; Здесь в классе X<int> есть статический член типа int, а в классеX<char> есть статический член типа char*. Аналогично, в приведенном ниже примере, функция f(int*) имеетстатический член s типа int, а функция f(char**) имеет статическийчлен типа char**: template<class T> f(T* p) { static T s; //... } void g(int a, char* b) { f(&a); f(&b); }

R.15 Обработка особых ситуаций







Дата добавления: 2015-09-04; просмотров: 338. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия