Синтаксис на шаблона
Ако ще използвате шаблони, свикнете с факта, че терминът параметризиран често ще се чува във вашата реч. Шаблоните се използват за създаване на параметризирани типове (обикновено класове) и параметризирани функции.
Параметризирани типове
шаблон клас ListNode < private:
ListNode * следващ; Тип * данни;
ListNode (Type * d, ListNode * n = NULL): next (n), data (d) <>
Тип * Данни () < return data; >ListNode * Напред ()
ListNode list = нов ListNode (нов Foo);
Foo * f = list-> Data (); // Връща правилния тип
Параметризирани функции
// Шаблон за декларация на функция Тип * fn (Тип * t);
// Определете неговия шаблон за изпълнение
// Функционално тяло, в което името е Type
// използва се като параметър за макроса
Foo * f = fn (нов Foo);
Дефиницията се генерира от компилатора, когато е необходимо, т.е. когато функцията е извикана. Този път името на функцията е параметризирано, а не името на класа.
Параметризирани функции на класа
шаблон клас ListNode < private:
Следва ListNode; Тип * данни;
ListNode (Тип * d, ListNode * n = NULL);
Тип * Данни (); ListNode * Напред ();
ListNode: ListNode (Type * d, ListNode * n = NULL): next (n), data (d)
Тип * ListNode: Данни ()
ListNode * ListNode: Следващ ()
Не забравяйте: всичко това трябва да е във .h файла. Изключение правят само ситуации, когато функциите на клас се извикват само от .cpp файла, в който са дефинирани. В този случай дефинициите на функциите на класа трябва да предшестват първото им използване.
Предаване на параметър
1. Зад ключовата дума в самото начало.
2. При посочване на името на конструктора.
3. При посочване на името на деструктора.
Аргументите към конструктори и деструктори трябва да бъдат параметризирани, точно както всички употреби на името на класа, с изключение на трите посочени случая. С всяко използване на параметризираното
- Шаблони за вземане - Бъдете алфа
- Правилно използване на водопроводни отоплителни кабели
- Препоръки Препоръчани книги Книги на Михаил Литвак
- Palandoken - "Coral Travel"
- Подиум на задната регистрационна табела, част 1