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

Презентация:



Advertisements
Похожие презентации
Основы информатики Лекция. Функции Заикин Олег Сергеевич
Advertisements

Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Статические поля класса Статические поля хранят данные, общие для всех элементов класса. Статическое поле существует в единственном экземпляре для всех.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
C++ - занятие 2 1. Какие типы вы бы использовали? height // рост salary // зарплата за месяц (в рублях) grade// средний балл charshort longint unsigned.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Потоки Язык C++ не обеспечивает средств для ввода/вывода Ему это и не нужно; такие средства легко и элегантно можно создать с помощью самого языка Традиционно.
Лекция 10. Введение в ООП. Часть 3 Красс Александр СПбГУ ИТМО, 2008.
Лекция 9 Функции. Массивы-параметры функции Передача массива в функцию Пример: void array_enter(int a[], int size) { int i; for (i = 0; i < size; i++)
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Прикладное программирование кафедра прикладной и компьютерной оптики Полиморфизм.
C++ - занятие Язык С++ - занятие 21. Какие типы вы бы использовали? age // возраст salary // зарплата за месяц (в рублях) grade// средний.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
Лекция 9 Приведение типов. Классификация типов Типы С++ Пользовательские Встроенные (Фундаментальные) Адресные Арифтметические void Указатели Ссылки Массивы.
Транксрипт:

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

С++ позволяет создавать несколько разных функций с одинаковым именем. Это называется перегрузкой функций. C++ lubab koostada funktsioonid ühega nimega. See on funktsiooni ümberlaadimine. Эти функции должны отличаться друг от друга списками параметров: типом или количеством параметров либо тем и другим одновременно. Ümberlaadimisel funktsioonidel on erinevad parameetri tüüpid või parameetri kogus.

Например Näiteks, int myfunc (int, int); //2 täisarvu int tüübi parameetri t int myfunc(long, long); //2 täisarvu double tüübi parameetri t int myfunc(long); //1 long tüübi parameeter Функция перегружена с тремя разными списками параметров. Funktsioon on ümberlaaditud mitmesugusega parameetri de ga. Типы возвращаемых значений перегруженных функций могут быть одинаковыми или разными. Funktsiooni tüübid võivad olla samasugused.

В результате перегрузки функций происходит явление, называемое полиформизмом функций. Funktsioonide ümberlaadimine tekitab lähedusefekti, mida nimetatakse polüformismiks. При вызове функций компилятор определяет функцию по совпадению параметров. Funktsiooni väljakutsumisel kontrollib kompilaator parameetreid.

Näide 1 : функция, которая удваивает передаваемое ей значение (int, long, float, double). // ümberlaaditud funktsioon nimega Double int Double (int); long Double (long); float Double ( float); double Double (double); int main() {int A=6500; long B=65000; float C=6.5F; double De=6.5e20; cout

// long Double (long param) { cout

Näide 2. Maksimum kolmest arvudest. //funktsiooni prototyybid int MAX(int, int); double MAX (double, double); //********************************************************* void main() { int a,b,c; //deklareerime 3 täisarvu cout >a>>b>>c; //sisund klaviatuurilt //kutsume välja funktsiooni MAX 2 korda cout >a1>>b1>>c1; //sisund klaviatuurilt //kutsume välja funktsiooni MAX 2 korda cout

//****************************************************** int MAX( int x, int y) //funktsioon otsib kahest arvust maksimaalset { if (x>=y) return x; //kui x rohkem või võrdub y, tagastab x, // sest x on suurem kui y else return y; //muidu tagastab y } //**************************************************************** doubleMAX(double x, double y) //funktsioon otsib kahest arvust maksimaalset { if (x>=y) return x; //kui x rohkem või võrdub y, tagastab x, sest x on //suurem kui y else return y; //muidu tagastab y } //****************************************************************