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

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

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; просмотров: 320. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

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