Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Void Show();



private:

T x, y;

};

template <class T> void point<T>::Show() {

cout << " (" << x << ", " <<у << ")" <<endl;

Обратите внимание на появление того же префикса template <class Т>, который предварял объявление шаблона класса, а также на более сложную запись операции квалификации области видимости для имени Show(): если раньше мы писали point::, то теперь пишем point<T>::, добавляя к имени класса список параметров шаблона, заключенный в угловые скобки (в данном случае один параметр Т)

Использование шаблона класса

При включении шаблона класса в программу никакие классы на самом деле не генерируются до тех пор, пока не будет создан экземпляр шаблонного класса, в котором вместо абстрактного типа Т указывается некоторый конкретный тип.

Такая подстановка приводит к актуализации, или инстанцированию, шаблона. Как и для обычного класса, экземпляр создается либо объявлением объекта, например:

point<int> anyPoint(13, -5);

либо объявлением указателя на актуализированный шаблонный тип с присваиванием ему адреса, возвращаемого операцией new, например:

point<double>* pOtherPoint = new point<double>(9.99. 3.33);

Встретив подобные объявления, компилятор генерирует код соответствующего класса.





Дата публикования: 2014-11-28; Прочитано: 233 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...