Modül dersleri (1/2)
İşlev Şablonları
Şablonlar C++'da genel kod yazmaya olanak tanır. Şablonlar aracılığıyla, genel tür parametreleri üzerinde çalışan işlevleri veya sınıfları tanımlayabilir, böylece derleyicinin istenen belirli türler için gerçek kodu oluşturmasına olanak sağlayabiliriz.
İşlev Şablonu Tanımlama
Bir işlev şablonunu tanımlamak için, işlev tanımının önüne template anahtar sözcüğünü koyarız ve ardından <> açılı parantez içine alınmış tür parametrelerinin listesini koyarız. Genel bir türü bildirmek için genellikle typename veya class kullanılır.
// T is the generic type parameter
template <typename T>
T add(T a, T b) {
return a + b;
}İşlev Çağrısı ve Şablon Bağımsız Değişken Çıkarımı
Fonksiyonu çağırdığımızda tipini açılı parantez içinde açıkça belirtebiliriz:
int res1 = add<int>(5, 10);
double res2 = add<double>(3.14, 2.71);Bununla birlikte, C++ derleyicisi genellikle iletilen giriş parametrelerinden tipi otomatik olarak çıkarabilir (Şablon Bağımsız Değişken Çıkarımı):
int res1 = add(5, 10); // The compiler deduces that T is intKendin dene
T genel türünden iki parametre alan ve ikisinden büyük olanı döndüren myMax adında bir işlev şablonu tanımlayın.
İpucu göster
'Şablon <tür adı T>' yazıp ardından 'T myMax(T a, T b)' imzasını yazarak başlayın.
3 denemeden sonra çözüm mevcut
T1 ve T2 farklı genel türlerinden iki parametre alan ve std::cout kullanarak boşlukla ayrılmış iki bağımsız değişkeni yazdıran, printPair adında bir işlev şablonu yazın.
İpucu göster
Şablon bildiriminde iki parametre belirtilmelidir: 'şablon <tipadı T1, tipadı T2>'.
3 denemeden sonra çözüm mevcut