Реферат: Методы программирования в C++

1) Компилятор пытается найти функцию, параметры которой точно соответствуют параметрам вызова.

Если это не удалось, то

2) компилятор пытается найти шаблон, из которого можно сгенерировать функцию с указанными параметрами.

Если и это не удалось, то

3) компилятор рассматривает имеющиеся функции на предмет преобразования типов параметров.

Шаблоны классов

Шаблоны классов задают обобщенные определения семейств классов, использующих произвольные типы и константы. Из шаблона класса компилятор может генерировать объекты с определенными типами и константами.

template <списокаргументов>

class NameClass

{ }

Список аргументов состоит в общем случае из конструкций

< class Ид 1,…

class Ид n ,

тип Ид k… >

Идентификаторы Ид 1 - Ид n используются при определении параметризованных типов.

Идентификатор Ид k используется для задания констант.

Объекты шаблонного класса создаются следующим образом:

NameClass <int> A (список инициализации)

Будет создан объект, где формальные типы будут заменены типом int. Список аргументов модифицируется следующим образом: аргументы вида classИдентификатор заменяется конкретным типом (int, double и т.д.), в том числе здесь можно использовать и классы.

Аргумент вида тип Идентификатор заменяется соответствующей константой.

Шаблоны классов специфицировать нельзя.

Пример использования шаблонов класса:

template <class T>

class TSteck

{int n; T *item;

public:

TSteck(int S=10)

{n=0; item=new T[S];}

void push(T t);

К-во Просмотров: 489
Бесплатно скачать Реферат: Методы программирования в C++