'

С++. Шаблоны

Понравилась презентация – покажи это...





Слайд 0

С++. Шаблоны Сидоренко Иван


Слайд 1

Введение Шаблоны обеспечивают поддержку обощенного программирования. Пример: template<class T> class Temp { T val; public: Temp( T); T getVal() const; } Temp<int> it; class A {}; Temp<A> at; template<class T> T Temp<T>::getVal() const { return val; } void f() { Temp<int> it; Temp<A> at; }


Слайд 2

Параметры шаблонов Параметр – константа или тип. Пример: template<class T, int max> class Buffer { T v[max]; public: Buffer(); }; void f( int i) { Buffer<int, i> buf; // ошибка }


Слайд 3

Эквивалентность типов При использовании одного и того же набора аргументов шаблона, мы всегда получаем один и тот же тип. typedef char myChar; string<char> s1; string<unsigned char> s2; string<int> s3; string<myChar> s4; buffer<int, 10> b1; buffer<int, 20-10> b2;


Слайд 4

Шаблоны функций Пример: template<class T> void f( T var) {…} Перегрузка шаблонов функций template<class T> T func(T, T); template<class T> complex<T> func( complex<T>, T); double func( double, double); func(1.2, 1); // ошибка, неоднозначность


×

HTML:





Ссылка: