Форум программистов, компьютерный форум CyberForum.ru

Перегрузка функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread190319.html
Помогите с кодом.... Лабораторная работа № 6 "Строки" Цель: Изучение символьных и строковых переменных и способов их обработки в языке Си. 1. Краткие теоретические сведения Для представления символьной (текстовой) информации можно использовать символы, символьные переменные и символьные константы. Символьная константа представляется последовательностью символов, заключенной в...
C++ Функции и массивы Помогите пожалуйста... Лабораторная работа №5 "Функции и массивы" Цель : Организовать обработку массивов с использованием функций, научиться передавать массивы как параметры функций. 1. Краткие теоретические сведения 1.1. Функции Функцию в Си можно рассматривать: • как один из производных типов данных (наряду с массивами и указателями); http://www.cyberforum.ru/cpp-beginners/thread190316.html
C++ Определить количество различных чисел в матрице
Доброго времени суток!! Определить количество различных чисел в целой матрице mхn. Спасибо.
с кодом С++ проблемы...пожалуйста... C++
Вот задачи, помогите чем можете)) Написать процедуру обмена столбца и строки двухмерного массива. С ее помощью поменять местами те строки и столбцы, первые элементы которых совпадают. Написать перегруженные функции и основную программу, которая их вызывает. а) для деления целых чисел; б) для деления комплексных чисел.
C++ Как открыть файл для чтения в БИНАРНОМ режиме? http://www.cyberforum.ru/cpp-beginners/thread190293.html
Друзья! Файл, который надо открыть БИНАРНЫЙ, в нём два байта. Содержание файла 33 20 00 00 имя "input" Вот по логике вещей пра должна его в бинарном режиме открыть и число 33 20 записать в переме6нную x Как она это число будет трактовать- дело второе уже. НУ раз это число типа int и учитывая, что 33 и 20 это шестнадцатеричные числа, тогда наверное число будет 00002033h или по-простому...
C++ MPI_Recv Добрый день! Я с таким заданием: нужно написать небольшой, простенький пример, демонстрирующий, как работает функция MPI_Recv. Подскажите, пожалуйста, какой можно привести пример, и в чём он может заключаться. Заранее спасибо за советы. подробнее

Показать сообщение отдельно
Alexandr93
2 / 2 / 0
Регистрация: 09.11.2010
Сообщений: 65

Перегрузка функций - C++

13.11.2010, 00:22. Просмотров 2579. Ответов 0
Метки (Все метки)

Помогите пожалуйста...


Лабораторная работа № 7
7.1. "Перегрузка функций в Си++"
Цель: Знакомство с организацией перегруженных функций в Си++.

1. Краткие теоретические сведения
Цель перегрузки состоит в том, чтобы функция с одним именем по разному выполнялась и возвращала разные значения при обращении к ней с различными типами и различным числом фактических параметров. Для обеспечения перегрузки функций необходимо для каждого имени функции определить сколько различных функций с ним связано.
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream.h>
int max_element ( int n, int a[ ])
// находит максимальный элемент для массива типа int
{
int max=a[0];
for ( i=1; i<n; i++)
if (a[i]>max) max=a[i];
return max;
}
 
long max_element ( int n, long a[ ])
// находит максимальный элемент для массива типа long
{
long max=a[0];
for ( i=1; i<n; i++)
if (a[i]>max) max=a[i];
return max;
}
double max_element ( int n, double a[ ])
// находит максимальный элемент для массива типа double
{
double max=a[0];
for ( i=1; i<n; i++)
if (a[i]>max) max=a[i];
return max;
}
 
float max_element ( int n, float a[ ])
// находит максимальный элемент для массива типа float
{
float max=a[0];
for ( i=1; i<n; i++)
if (a[i]>max) max=a[i];
return max;
}
 
void main ( )
{
int x[]={10, 20, 30, 40, 50, 60};
long y[]={12L, 44L, 22L, 37L,30L};
. . . . . .
int m1=max_element(6, x );
long m2=max_element(5, y);
. . . . . 
}
2. Постановка задачи
Написать перегруженные функции и основную программу, которая их вызывает.


3. Варианты
7.
а) для деления целых чисел;
б) для деления комплексных чисел.

4. Содержание отчета
1. Постановка задачи для конкретного варианта.
2. Исходные данные.
3. Текст программы.
4. Результаты выполнения программы.


7.2. "Функции с переменным числом параметров"
Цель: Знакомство с организацией функций с переменным числом параметров.

1. Краткие теоретические сведения
В Си допустимы функции, у которых при компиляции не фиксируется число параметров, кроме того, может быть неизвестен и тип параметров. Количество и тип параметров становится известным только в момент вызова, когда явно задан список фактических параметров. Каждая функция с переменным числом параметров должна иметь хотя бы один обязательный параметр.
Определение функции с переменным числом параметров:
<тип><имя>(<явные параметры>, . . . )
После списка явных параметров ставится запятая, а затем многоточие, которое показывает, что дальнейший контроль соответствия количества и типов параметров при обработке вызова функции производить не нужно. Сложность заключается в определении начала и конца переменного списка параметров, поэтому каждая функция должна иметь механизм определения их количества и типов. Существует два подхода:
1 известен признак конца списка переменных параметров;
2 известно количество параметров, которое передается как обязательный параметр.
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
int sum (int k, . . .)
{
int *p = &k; //настроили указатель на параметр k
int s=0;
for ( ; k!=0;k--)
s+=*(++p);
return s;
}
void main( )
{
cout<<”\nСумма(2,4,6)=<<sum(2,4,6); //находит сумму 4+6
cout<<”\nСумма(4,1,2,3,4)=<<sum(4,1,2,3,4); //находит сумму 1+2+3+4
}
Для доступа к списку параметров используется указатель *p типа int. Он устанавливается на начало списка параметров в памяти, а затем p перемещается по адресам фактических параметров (++p).

2. Постановка задачи
Решить указанную в варианте задачу, используя функции с переменным числом параметров.
3. Варианты
7.Написать функцию min с переменным числом параметров, которая находит минимальное из чисел типа int или из чисел типа double, тип параметров определяется с помощью первого параметра функции. Написать вызывающую функцию main, которая обращается к функции min не менее трех раз с количеством параметров 5, 10, 12.
4. Содержание отчета
1. Постановка задачи для конкретного варианта.
2. Исходные данные.
3. Текст программы.
4. Результаты выполнения программы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru