68957

Перевантаження шаблонної функції та їх специфікацій

Лекция

Информатика, кибернетика и программирование

Перевантаження шаблонної функції Використання стандартних параметрів шаблонної функції Обмеження на узагальнені функції Перевантаження шаблонної функції Для того, щоб перенавантажувати специфікацію узагальненої функції, досить створити ще одну версію шаблону, що відрізняється від останніх...

Украинкский

2014-09-28

34 KB

2 чел.

Лекція № 19

Тема: Перевантаження шаблонної функції

План

  1.  Перевантаження шаблонної функції
  2.  Використання стандартних параметрів шаблонної функції
  3.  Обмеження на узагальнені функції

Перевантаження шаблонної функції

Для того, щоб перенавантажувати специфікацію узагальненої функції, досить створити ще одну версію шаблону, що відрізняється від останніх своїм списком параметрів.

// Перевантаження шаблонної функції.

#include <iostream>

using namespace std;

// Перша версія шаблонної функції f().

template <class X> void f(X а){

cout « "Усередині функції f(X а)\n";

}

// Друга версія шаблонної функції f().

template <class X, class Y> void f(X а, Y b){

cout << "Усередині функції f(X а, Y b)\n";

}

int main() {

f(10); // Виклик функції f(X).

f(10, 20); // Виклик функції f(X, Y).

return  0;

}

Тут шаблон функції f () переобтяжений для одного і двох параметрів.

Використання стандартних параметрів шаблонних функцій

При визначенні шаблонної функції можна змішувати стандартні і узагальнені параметри. В цьому випадку стандартні параметри нічим не відрізняються від параметрів будь-яких інших функцій. Розглянемо приклад.

// Застосування стандартних параметрів в шаблонній функції.

#include <iostream>

using namespace std;

const int TABWIDTH = 8;

// Виводить на екран дані у позиції tab.

template<class X> void tabOut(X data, int, tab){

for(; tab; tab--)

for(int i=0; i<TABWIDTH; i++) cout « '  ' ;

cout « data « "\n";

}

int main() {

tabOut("Перевірка", 0);

tabOut(100,   1);

tabOutCX',   2);

tabOut(10/3, 3);

return 0;

}

Програма виводить на екран наступні повідомлення.

Перевірка

100

X

3

У цій програмі функція tabOut () виводить на екран свій перший аргумент, позиція якого визначається другим параметром tab. Оскільки перший аргумент має узагальнений тип, функція tabout () може виводити на екран дані будь-якого типу. Параметр tab є стандартним і передається за значенням. Змішення узагальнених і стандартних параметрів не викликає жодних проблем і може виявитися корисним.

Обмеження на узагальнені функції

Узагальнені функції нагадують переобтяжені, але на них накладаються ще жорсткіші обмеження. При перевантаженні усередині тіла кожної функції можна виконувати різні операції. В той же час узагальнена функція повинна виконувати одну і ту ж універсальну операцію для всіх версій, розрізнятися можуть лише типи даних. Розглянемо переобтяжену функцію на наступному прикладі. Ці функції не можна замінювати узагальненими, оскільки вони мають різне призначення.

 

#include <iostream>

#include <cmath>

using namespace std;

void myfunc(int i){

cout « "Значення = " « i « "\n";

}

void myfunc(double d){

double intpart;

double fracpart;

fracpart = modf(d &intpart);

cout << "Дробова частина = " « fracpart;

cout « "\n";

cout « "Ціла частина = " << intpart;

}

int main() {

myfunc(1);

myfunc(12.2);

return 0;

}


 

А также другие работы, которые могут Вас заинтересовать

29495. Элита и «масса» в общественном мнении: проблема социальной элиты 76 KB
  Принято выделять элиты по их профессиональному месту по роду их занятий в обществе и соответственно говорить об интеллектуальных политических военных экономических культурных и т. Эта категория элиты действует преимущественно через системы и средства массовой информации. Поэтому кстати численность публичной элиты ограничена немногими десятками лиц это определяется возможностями самого поля массового внимания или фигурально выражаясь размерами подиума.
29496. КОМПЛЕКСЫ ОБЩЕСТВЕННОГО МНЕНИЯ (Статистика и социология в изучении общественного мнения) 174 KB
  При таком статистическом подходе существуют проблемы измерения общественного мнения но нет вопроса о его структуре и функциях2. но и так сказать изнутри в смысле самого языка общественного мнения символы стереотипы комплексы значений и средств выражения. Понятно что отечественный опыт последних лет питает сомнения и разочарования в отношении эффективности любых демократических институтов в том числе и общественного мнения в нынешнем российском обществе.
29497. ЧЕЛОВЕК, ТОЛПА И МАССА В ОБЩЕСТВЕННОМ МНЕНИИ 104.5 KB
  В частности это относится к пугающему одних и ободряющему других в зависимости от позиции представлению о всемогуществе масскоммуникативного влияния на массовую аудиторию на массового человека. В конечном счете это приводит к одной из граней извечной проблемы общественного человека: как и насколько может и желает человек поддаваться давлению коммуникативных средств массового поражения. О генезисе массового общества С.
29498. ВОЗВРАЩАЯСЬ К ПРОБЛЕМЕ СОЦИАЛЬНОЙ ЭЛИТЫ 141.5 KB
  Но каждое время то есть каждая социальная ситуация выбирает поддерживает пестует продвигает подходящий для нее тип человека. Если на поверхности советской системы находился человек послушнокарьерный то с ее распадом на переднем плане в политической жизни бизнесе медиа социальнонаучной сфере и около них оказался человек ловкий ориентированный на ближайший успех и не связанный ни ценностными ни социальногрупповыми рамками ответственности. Массовый человек ориентируется практически не на те звездные образцы политкумиров...
29499. «СРЕДНИЙ ЧЕЛОВЕК»: ФИКЦИЯ ИЛИ РЕАЛЬНОСТЬ 102 KB
  В соответствии с такой исследовательской ориентацией предметом рассмотрения прежде всего становится человек как респондент массового исследования а лишь затем возникает проблема социальногрупповой типологии. в рамках исследовательской программы Советский человек. Средний показатель I высшая 1 1 1 1 1 1 1 II 1 1 1 1 1 1 1 III 3 4 3 2 3 3 3 IV 6 5 6 4 7 6 5 V 21 20 24 21 19 19 20 VI 17 11 15 14 13 13 12 VII 18 13 14 16 16 15 15 VIII 12 16 15 15 16 18 15 IX 9 11 10 10 10 10 9 X низшая 8 17 13 16 15 14 14 Средний статус 626 697 675...
29500. ИНДИКАТОРЫ И ПАРАДИГМЫ КУЛЬТУРЫ В ОБЩЕСТВЕННОМ МНЕНИИ 109 KB
  Нужен какойто переход к теоретическому уровню анализа построению работоспособных гипотез и моделей культуры или как было предложено Т. Исходное предположение состоит в том что получаемые исследователями в массовых опросах глубоких интервью статистике данные относятся к состоянию видимых терминалов скрытого от невооруженного глаза сложного и в определенном смысле целостного механизма культуры. Перемены социальные и культурные: разные шкалы времени Понятно что все феномены и процессы культуры могут существовать реально только в...
29501. ФЕНОМЕН ВЛАСТИ В ОБЩЕСТВЕННОМ МНЕНИИ: ПАРАДОКСЫ И СТЕРЕОТИПЫ ВОСПРИЯТИЯ 123.5 KB
  При этом за пределами внимания остаются особенности представлений о природе и функциях власти присущие массовому сознанию современного общества. Необходимые разграничения В нашем общественном мнении обычно слабо различаются механизмы и функции власти структура властных институтов роли и действия конкретных лиц наделенных властью. Многочисленные опросные данные относительно доверия к социальным институтам регулярно публикуемые в журнале Мониторинг показывают существенные различия в отношении населения к власти федерального центра и...
29502. ИНДЕКСЫ СОЦИАЛЬНЫХ НАСТРОЕНИЙ В «НОРМЕ» И В КРИЗИСЕ 164 KB
  В последнее время большую международную известность приобрел индекс потребительских настроений который в нашей стране разрабатывается группой ИПНРоссия на основе регулярных мониторинговых исследований ВЦИОМ; его результаты широко освещаются в периодической печати в том числе в журнале Мониторинге общественного мнения2. По аналогичным методикам могут быть построены как частные так и сводный индексы социальных настроений и установок. По своей методологической природе любой сконструированный индекс величина искусственно полученная в...
29503. ПРОБЛЕМА ЭМОЦИОНАЛЬНОГО БАЛАНСА ОБЩЕСТВА 182.5 KB
  Высказанные им соображения о методологической слабости психологической трактовки распространенных в исследованиях общественного мнения в том числе и проведенных ВЦИОМ перечней различных страхов представляются вполне правомерными. Представляется полезным обсудить особенности природы и функций социальных страхов различных типов в их соотношении с другими компонентами эмоционального поля общества например интересами радостями позитивными оценками и переживаниями. Первое и важнейшее различение с которым приходится сталкиваться при...