ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
// функция обмена значениями двух переменных
// вещественного типа
void Swap(double& a, double& b)
{
double t = a; a = b; b = t;
}
// функция обмена значениями двух символьных строк
void Swap(char*& a, char*& b)
{
char* t = a; a = b; b = t;
}
// функция обмена значениями двух целочисленных массивов
void Swap(int*& a, int& n, int*& b, int& m)
{
int t = n; n = m; m = t;
int* ta = a; a = b; b = ta;
}
Отметим, что последняя реализация функции Swap() отличается не
только типами параметров, но и их количеством. Именно по типу
фактических параметров и их количеству компилятор определяет, какую
функцию требуется вызвать в тот или другой момент. Например,
. . .
int a = 10, b = 30;
// вызов функции обмена значений переменных целого типа
Swap(a, b);
double x = 100.5, y = 30.2;
// вызов функции обмена значений переменных
// вещественного типа
Swap(x, y);
char * str1="Первая строка", *str2 = "Вторая строка";
// вызов функции обмена двух символьных строк
Swap(str1, str2);
int m = 10, n = 20;
int* array1 = new int[m];
int* array2 = new int[n];
for(int i = 0; i < m; i++)
cin >> array1[i];
for(int i = 0; i < n; i++)
cin >> array2[i];
// вызов функции обмена двух массивов целых чисел
19
Объектно-ориентированное программирование на С++
// функция обмена значениями двух переменных
// вещественного типа
void Swap(double& a, double& b)
{
double t = a; a = b; b = t;
}
// функция обмена значениями двух символьных строк
void Swap(char*& a, char*& b)
{
char* t = a; a = b; b = t;
}
// функция обмена значениями двух целочисленных массивов
void Swap(int*& a, int& n, int*& b, int& m)
{
int t = n; n = m; m = t;
int* ta = a; a = b; b = ta;
}
Отметим, что последняя реализация функции Swap() отличается не
только типами параметров, но и их количеством. Именно по типу
фактических параметров и их количеству компилятор определяет, какую
функцию требуется вызвать в тот или другой момент. Например,
. . .
int a = 10, b = 30;
// вызов функции обмена значений переменных целого типа
Swap(a, b);
double x = 100.5, y = 30.2;
// вызов функции обмена значений переменных
// вещественного типа
Swap(x, y);
char * str1="Первая строка", *str2 = "Вторая строка";
// вызов функции обмена двух символьных строк
Swap(str1, str2);
int m = 10, n = 20;
int* array1 = new int[m];
int* array2 = new int[n];
for(int i = 0; i < m; i++)
cin >> array1[i];
for(int i = 0; i < n; i++)
cin >> array2[i];
// вызов функции обмена двух массивов целых чисел
19
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »
