Template

Template ها، کلاس‌ها یا متدهای هستند که، بسته به نوع داده‌ای که به آنها اختصاص داده می‌شود، رفتارشان را سازگار می‌کنند. به عنوان مثال، یا استفاده از Template، می‌توان یک متد تعریف کرد که هر نوع داده‌ای را قبول کند. همچنین می‌توان یک متد ایجاد کرد که بسته به نوع دریافتی، مقادیری از انواع داده‌ای مانند int، double یا string را نشان دهد. اگر از Template ها استفاده نکنید، باید چند متد و یا حتی چندین متد سربارگذاری شده برای نمایش هر نوع ممکن ایجاد کنید.

public:
    void Show(int number)
    {
        cout << number << endl;
    }

    void Show(double number)
    {
        cout << number << endl;
    }

    void Show(string message)
    {
        cout << message << endl;
    }

با استفاده از Template ها، می‌توان متدی ایجاد کرد که هر نوع داده‌ای را قبول کند:

template<class E>
void Show(E item)
{
    cout << item << endl;
}

درباره Template ها در درسهای بعد مطالب بیشتری توضیح می‌دهیم.