Class объявление класса



Список параметров класса-шаблона представляет собой идентификатор

типа, подставляемого в объявление данного класса при его генерации. Идентификатору типа предшествует ключевое слово class или typename. Рассмотрим пример шаблона класса работы с динамическим массивом и выполнением контроля за значениями индекса при обращении к его элементам.

#include <iostream>

using namespace std;

#include <string.h>

template <class T> // или иначе template <typename T>

class vector

{ T *ms;

int size;

public:

vector(): {}

~vector(){

void inkrem()

{ … }

void decrem(void

{...}

};

int main()

{ …}

В С++, так же как и для класса, для функции (глобальной, то есть не являющейся компонентой-функцией) может быть описан шаблон. Это позволит снять достаточно жесткие ограничения, накладываемые механизмом формальных и фактических параметров при вызове функции. Рассмотрим это на примере функции, вычисляющей сумму нескольких аргументов.

template <class T1,class T2>

T1 sm(T1 a,T2 b) // описание шаблона

{ return (T1)(a+b); // функции c 2 параметрами }

template <class T1,class T2,class T3>

T1 sm(T1 a,T2 b,T3 c) // описание шаблона функции

{ return (T1)(a+b+c); // функции c 3 параметрами}

void main()

{cout<<"сумм sm(int,int) = "<<sm(4,6)<<endl;

cout<<"суммsm(int,int,int)="<<sm(4,6,1)<<endl;

cout<<"cумм sm(int,double) = "<<sm(5,3)<<endl; cout<<"сумм sm(double,int,short)=" <<

sm(.4,6,(short)1)<<endl; }


 


Дата добавления: 2015-12-21; просмотров: 15; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!