Перегруженные функции

Простые функции.

Следующий пример демонстрирует простую функцию, которая печатает строку из 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;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: