Реферат: Методы программирования в C++
class D : public C, public B
В этом случае последовательность в создании объектов класса D будет следующей: сначала вызывается конструктор класса А (вызывается один раз), затем конструкторы В и С, последним вызывается конструктор класса D. Уничтожение объектов класса D производится в обратном порядке.
5. Шаблоны
Шаблоны представляют собой обобщенные объявления, из которых компилятор может создавать функции или классы с заданными параметрами. Шаблоны позволяют пользователям оперировать параметризованными типами. Имея реализацию шаблона, пользователю нет необходимости переписывать функции для конкретных типов данных.
Шаблоны функций
Объявление шаблона функций выглядит следующим образом:
template <список аргументов>
заголовок функции
{тело функции}
Здесь угловые скобки являются неотъемлемым элементом определения. Список параметров шаблона должен быть заключен именно в угловые скобки.
Список аргументов состоит из выражений типа
<class идентификатор 1,…
class идентификатор n>
идентификатор 1, идентификатор n представляют собой обозначения параметризованных типов. Эти обозначения типов можно использовать вместо типов формальных параметров или локальных переменных.
Под классом в данном случае понимается самый обширный тип данных.
Например, шаблон функции обмена для массива будет выглядеть так:
template <class T>
void Obmen(T A[], int i, int j )
{T temp;
temp=A[i];
A[i]=A[j];
A[j]=temp;}
main()
{int Z[10];
…
Obmen (Z,5,7);
floatx[100];
Obmen (x,6,7);
…
}