46261

Значения параметров по умолчанию. Перегрузка функций и операторов. Дружественные функции

Доклад

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

Дружественная функция объявляется внутри класса, к элементам которого ей нужен доступ, с ключевым словом friend. Дружественная функция может быть обычной функцией или методом другого ранее определенного класса.

Русский

2013-11-20

13.3 KB

1 чел.

5. Значения параметров по умолчанию. Перегрузка функций и операторов. Дружественные функции.

Дружественные функции и классы

• Дружественная функция объявляется внутри класса, к элементам которого ей нужен доступ, с ключевым словом friend.

• Дружественная функция может быть обычной функцией или методом другого ранее определенного класса.

• Одна функция может быть дружественной сразу нескольким классами.

class Hero {

public:

 void Kill(Monster &) {

   M.health = 0; M.ammo = 0;

}

};

class Monster {

friend int StealAmmo(Monster &);

friend void Hero::Kill(Monster &);  

};

int StealAmmo(Monster &M) {

return --M.ammo;

}

Значения параметров по умолчанию

У функции может быть больше параметров, чем в самых простых и наиболее часто используемых случаях.

void Print(int n, int base)

{

 switch(base) {

case 8:  cout << oct << n << endl; break;

 case 10: cout << dec << n << endl; break;

 case 16: cout << hex << n << endl; break;

 }

}

Параметры по умолчанию должны идти в конце функции:

// нормально

int f(int, int = 0, char* = 0);   

// ошибка

int g(int = 0, int = 0, char*);   

// ошибка

int h(int = 0, int, char* = 0);

Перегрузка функций и операторов

Под перегрузкой функции понимается, определение нескольких функций (две или больше) с одинаковым именем, но различными параметрами.

В большинстве ранних языков программирования, для упрощения процесса

трансляции существовало ограничение, согласно которому одновременно в программе не может быть доступно более одной процедуры с одним и тем же именем.

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

Разные функции обычно имеют разные имена, но функциям, выполняющим сходные операции над объектами разных типов, лучше дать одно имя.

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

void Print(int n, int base = 10)

Эквивалентная запись при помощи перегрузки:

void Print(int n) { Print(n, 10); }

Перегрузка оператора состоит в изменении смысла оператора (например, оператора плюс (+), который обычно в C++ используется для сложения) при использовании его с определенным классом.

• при перегрузке операций сохраняются количество аргументов, приоритеты

операций и правила ассоциации (справа налево или слева направо), используемые в

стандартных типах данных

• для стандартных типов данных переопределять операции нельзя

• функции-операции не могут иметь аргументов по умолчанию

• функции-операции наследуются, за исключением =

тип operator операция (список параметров)

{

тело функции

}


 

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

85104. Первая помощь при ранениях и травмах 43.45 KB
  Наиболее часто встречающиеся травмы это раны ушибы растяжения связок вывихи и переломы. Одна традиция заливать раны в том числе скальпированные йодом чего стоит. Что такое рана и чем она отличается от ушиба Какие раны наиболее опасны Что такое кровопотеря Чем она опасна Как вы обычно обрабатываете раны Расскажите алгоритм действий. Раны это поверхностные повреждения которые связаны с нарушением целости кожных покровов или слизистой оболочки.
85105. Первая медицинская помощь при остановке сердца 41.26 KB
  Первая медицинская помощь при остановке сердца Цели урока. Изучить признаки остановки сердца и порядок действий при сердечнолегочной реанимации. Получить первичные навыки по оказанию первой помощи при остановке сердца и прекращении дыхания. На втором месте после травм среди причин смерти от несчастного случая стоит остановка сердца.
85106. Профессионально-психологический отбор в Вооружённых Силах РФ 40.89 KB
  Да и не только сила но и ловкость выносливость другие физические качества без которых невозможно представить настоящего военного. Профессиональный психологический отбор в Вооруженных силах является одним из видов профессионального отбора и представляет собой комплекс мероприятий направленных на достижение качественного комплектования воинских должностей на основе обеспечения соответствия профессионально важных социальнопсихологических психологических и психофизиологических качеств граждан призываемых или добровольно поступающих на...
85107. Обязательная подготовка граждан к военной службе 44.67 KB
  Обязательная подготовка граждан к военной службе Цель: Изучить цели задачи и составляющие обязательной подготовки граждан к военной службе. Кроме того много времени отнимает психологическая адаптация молодых людей к условиям военной службы иногда до полугода. Для разрешения этого противоречия и предназначена обязательная подготовка к военной службе. В ходе мероприятий которые она и себя включает происходит первичная адаптация молодого человека к военной службе формируется мотивация на военное обучение вырабатываются необходимые...
85108. Добровольная подготовка граждан к военной службе 41.25 KB
  Добровольная подготовка граждан к военной службе Цели урока. Изучить назначение структуру и содержание добровольной подготовки к военной службе. должен пройти подготовку по основам военной службы на одном из учебных пунктов организаций. В нем проводит занятия по военной истории и воинским традициям священник местной церкви.
85109. Организация медицинского освидетельствования и медицинского обследования граждан при постановке на воинский учет 40.72 KB
  Организация медицинского освидетельствования и медицинского обследования граждан при постановке на воинский учет. Познакомить учащихся и изучить правила медицинского освидетельствования граждан при первоначальной постановке на воинский учет правила профессионального психологического отбора при первоначальной постановке на воинский учет; ознакомить с психологической классификацией воинских должностей. Отметьте знаком мероприятия относящиеся к добровольной подготовке граждан к военной службе: занятия в поисковых военноисторических...
85110. Разработка композиции вышивки и её выполнение 619.09 KB
  Тема: Разработка композиции вышивки и её выполнение. Цель: ознакомить учащихся с композицией вышивки изделий украшенных счётной гладью или занизыванием; научить создавать композиции вышивок подбирать нитки ткань для вышивания; формировать художественный вкус при подборе цветовой гаммы ниток для вышивания; развивать творческие способности учащихся при составлении композиций; воспитывать уважительное отношение к традициям национальной вышивки. Разработка композиции вышивки. Презентация Композиция вышивки IV.
85111. Обработка изделия мережкой. Правила БЖ при вышивании 468.5 KB
  Мережка – это ажурная техника вышивания. Выполняется мережка на месте выдернутых с ткани ниток. Мережки относятся к счётной технике. Существует большое количество различных мережек. Мережки применяются в салфетках, скатертях, для подшивания краёв изделия
85112. Рушниковые швы (крестик) 261.69 KB
  Цель: расширить знания учащихся по рушниковым швам; научить правильной технологии вышивания рушникового шва; воспитывать аккуратность при выполнении вышивки развивать художественный вкус учащихся. Актуализация опорных знаний и умений учащихся. Закрепление новых знаний и умений учащихся. Актуализация опорных знаний и умений учащихся.