Amaliy fanlar universiteti
Download 98.18 Kb.
|
DASTURLASH
template <class Num>
Num sqr(Num x) { return x * x; } Tempet Temolie Ushbu lahzada kompilyator shablon parametrlarining ismlari o'rniga funktsiyaning parametrlarining ismlari o'rniga funktsiyaning parametrlari yoki o'ziga xos funktsiya yoki sinfning o'ziga xos amalga oshirilishini bildiradi, deb taxmin qilish mumkin. auto a = sqr // a имеет тип int и значение 100 auto f = sqr // f имеет тип float и значение 6.25f Funktsiya funktsiyasining parametrlari funktsiyaning o'zi parametrlaridan olinishi mumkin bo'lsa, ular ko'rsatilishi mumkin emas: auto a = sqr(10); // 10 имеет тип int, поэтому Num = int // a имеет тип int и значение 100 auto f = sqr(2.5f); // 2.5f имеет тип float, поэтому Num = float // f имеет тип float и значение 6.25f Funktsiya funktsiyasining parametrlari funktsiyaning o'zi parametrlaridan olinishi mumkin bo'lsa, ular ko'rsatilishi mumkin emas: template <class First, class Second = First> struct Pair // Пара значений типов First и Second. { First first; Second second; // Конструктор: First() и Second() -- вызовы конструкторов по умолчанию // для типов First и Second соответственно (определены и для встроенных типов). Pair(const First &first = First(), const Second &second = Second()) : first(first), second(second) /* список инициализации: вызов конструкторов копирования для обоих полей */ {} }; // Пара чисел с плавающей точкой. Pair assert(p2.first == 1. && p2.second == 2.); // Пара "целое, строка". Pair ids.first = 23; ids.second = "23 is the new 42"; Vazifalar va sinflar shablonlariga qo'shimcha ravishda C ++ (C ++ 11 bilan boshlanadi), u Sinonyams shablonlari shablonlarini e'lon qilish imkoniyatini beradi. Kerakli parametrlarni belgilash qobiliyati bilan bir-sharam uchun qisqa ism yozing. Download 98.18 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling