Реферат: Объективное программирование

dat a;

do

{

scanf("%d%d%d", &a.day, &a.month, &a.year);

}

while(a.TestData() ==0);

a.PlusData(17);

}

//------------------------------------------------------- Как видно из примера, в качестве элементов структуры могут

выступать функции. Такие элементы-функции имеют следующие особенности:

- тело функции может быть определено в самой структуре (функция PlusData). В этом случае функция имеет стандартный вид;

- в определении структуры дается только прототип функции(заголовок с перечислением типов формальных параметров). Определение самой функции дается отдельно, при этом полное имя функции

имеет вид

<имя структуры>::<имя функции>

- в теле фукции неявно определен один формальный параметр с

именем this - ссылка на структуру, для которой вызывается функция

(В нашем примере это будет struct dat *this ). Поля этой структуры доступны через явное использование этой ссылки

this->month = 5;

this->day++;

или неявно

month = 5;

day++;

- для переменной, имеющей тип некоторой структуры, вызов

функцииэлемента этой структуры имеет вид

<имя переменной>.<имя функции> ( <список параметров> )

2.4. Переопределение функций

--------------------------- В Си++ возможно определение нескольких функций с одинаковым

именем, но с разными типами формальных параметров. При этом компилятор выбирает соответствующую функцию по типу фактических параметров. Переопределяемую функцию необходимо объявить с ключевым

словом overload:

К-во Просмотров: 546
Бесплатно скачать Реферат: Объективное программирование