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

Перегрузка функций.

Указатели позволяют эффективно работать с массивами | Управление доступом. Определение, синтаксис объявления и пример использования. | Имя метода совпадает с именем класса. | Поля перечисляются через запятую. Для каждого поля в скобках указывается инициализирующее значение, которое может быть выражением. | Выделение памяти для полей класса; | Конструктор по умолчанию. Определение, свойства, синтаксис объявления и пример использования. | Свойства деструкторов | Используются для получения непосредственного доступа извне к скрытым полям класса, то есть расширения интерфейса класса. | Object.print(); | Перегрузка стандартных операций. |


Читайте также:
  1. Перегрузка стандартных операций.

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

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

Пример: возведение в квадрат.

Язык C++ позволяет создавать функции с одинаковым именем. Можно написать так:

int Square(int x) { return x * x; };

double Square(double x) { return x*x; };

float Square(float x) { return x * x; };

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

int SquareI(int x) { return x * x; };

double SquareD(double x) { return x*x; };

float SquareF(float x) { return x * x; };

double a = 1;

double d = Square(a);

Алгоритм выбора перегруженной функции:

для обнаружения соответствия используется понятие “сигнатура”.

Сигнатура – список типов параметров функции.

int SquareI(int x) { return x * x; };

// сигнатура “int”

double SquareD(double x) { return x * x; };

// сигнатура “double”

float SquareF(float x) { return x * x; };

// сигнатура “float”

Алгоритм выбора перегруженной функции действует так:


Дата добавления: 2015-10-02; просмотров: 42 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Тип_возвращаемого_значения operator знак_операции| Наследование классов.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)