Простые функции.
Следующий пример демонстрирует простую функцию, которая печатает строку из 45 символов *. В программе создается таблица, и для того, чтобы сделать эту таблицу удобочитаемой, используются разделяющие линии, состоящие из символов *:
Пример 4:
#include <iostream>
using name std:
void starline(); //объявление функции
int main()
{starline(); //вызов функции
cout<<”Тип данных Диапазон”<<endl;
starline();
cout « "char -128.,. 127" «endl
«"short -32. 768... 32. 767" «endl
«"int системно-зависимый" «endl
« "long -2.147.483.648...2.147,483.647"<<endl;
starline(); // вызов функции
return 0;
}
//определение функции starline()
void starline() // заголовок функции
{for(int j=0; j<45; j++)
cout<<’*’;
cout<<endl;
}
Перегруженная функция выполняет различные действия, зависящие от типов данных, передаваемых ей в качестве аргументов.
Кажется загадочным, каким образом функция распознает, какие из действий необходимо совершить над теми или иными данными. Но это только лишь кажется. На самом деле всё гораздо проще, чем может показаться на первый взгляд. Например, в программе содержится три функции с одинаковым именем, но с разными типами или количеством аргументов. Тогда если вызывается функция, а параметры не передаются, то вызывается функция без аргументов. Для того чтобы понять суть этого механизма, разберем следующий пример.
|
|
main()
Задание: Ввести массив с клавиатуры и вывести его на экран, а также вывести на экран отдельный элемент.
Пример 5:
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
class MArray
{
protected:
int size;
int A[50];
public:
int takeA(int n)// Функция возврата A[n] элемента массива
{
return A[n];
};
int takeA(int n,int m)//Функция возврата A[n+m] элемента массива
{
return A[n+m];
};
};
class nasl:public MArray
{
public:
void Keyboard()
{
int i;
cout<<"Vvedite razmer massiva";
cin>>size;
for(i=0;i<size;i++)
{
cin>>A[i];
}
};
void DisplayA()// функция вывода массива на экран
{ int i;
for(i=0;i<size;i++)
{
cout<<" "<<A[i];
}
};
};
int main()
{
int i,k,m;
nasl a;
a.Keyboard();
a.DisplayA();
cout<<"Vvedite nomer elementa\n";
cin>>k;
i=a.takeA(k);
cout<<"A["<<k<<"]="<<" "<<i;
cout<<"Vvedite m & k\n";
cin>>k>>m;
i=a.takeA(k,m);
cout<<"A["<<k+m<<"]="<<" "<<i;
return 0;
}