টেমপ্লেটস (Templates): ফাংশন এবং ক্লাস টেমপ্লেট

জেনেরিক প্রোগ্রামিং (Generic Programming) - কম্পিউটার প্রোগ্রামিং ফান্ডামেন্টাল (Computer Programming Fundamentals) - Computer Science

204

টেমপ্লেটস (Templates)

টেমপ্লেটস হলো C++ প্রোগ্রামিংয়ের একটি শক্তিশালী ফিচার যা সাধারণ কোড লিখতে সহায়ক। এটি ফাংশন এবং ক্লাসে বিভিন্ন ডেটা টাইপের সাথে কাজ করার জন্য পুনরায় কোড লেখার প্রয়োজনীয়তা কমায়। টেমপ্লেট ব্যবহার করে আমরা একই ফাংশন বা ক্লাসকে একাধিক ডেটা টাইপের জন্য ব্যবহার করতে পারি।


ফাংশন টেমপ্লেট (Function Template)

ফাংশন টেমপ্লেট হলো একটি টেমপ্লেট যা একাধিক ডেটা টাইপের জন্য একই ফাংশন কাজ করতে পারে। এর মাধ্যমে ফাংশন পুনরায় লিখতে হয় না, বরং টেমপ্লেট একটি সাধারণ ফর্ম তৈরি করে এবং কম্পাইলারের কাছে প্রয়োজন অনুসারে বিভিন্ন ডেটা টাইপের জন্য ফাংশন জেনারেট করার নির্দেশ দেয়।

উদাহরণ:

#include <iostream>
using namespace std;

// ফাংশন টেমপ্লেট ডিক্লারেশন
template <typename T>  // T হলো একটি জেনেরিক টাইপ
T add(T a, T b) {
    return a + b;
}

int main() {
    cout << "Integer addition: " << add(5, 10) << endl;      // আউটপুট: 15
    cout << "Float addition: " << add(5.5, 10.2) << endl;    // আউটপুট: 15.7
    return 0;
}

বিস্তারিত: এখানে add একটি ফাংশন টেমপ্লেট যা T নামে একটি জেনেরিক টাইপ ব্যবহার করে। এটি int, float, বা অন্য যে কোনো ডেটা টাইপের জন্য কাজ করতে পারে।


ক্লাস টেমপ্লেট (Class Template)

ক্লাস টেমপ্লেট হলো এমন একটি টেমপ্লেট যা বিভিন্ন ডেটা টাইপের জন্য একই ক্লাস তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত তখন ব্যবহৃত হয় যখন একই ধরনের ফিচার বিভিন্ন ডেটা টাইপের জন্য প্রয়োজন হয়, যেমন স্ট্যাক, কুইউ, বা লিঙ্কড লিস্টের মতো ডেটা স্ট্রাকচার।

উদাহরণ:

#include <iostream>
using namespace std;

// ক্লাস টেমপ্লেট ডিক্লারেশন
template <typename T>  // T হলো একটি জেনেরিক টাইপ
class Calculator {
public:
    T num1, num2;

    Calculator(T a, T b) : num1(a), num2(b) {}

    T add() {
        return num1 + num2;
    }

    T multiply() {
        return num1 * num2;
    }
};

int main() {
    Calculator<int> intCalc(10, 20);
    cout << "Integer addition: " << intCalc.add() << endl;          // আউটপুট: 30
    cout << "Integer multiplication: " << intCalc.multiply() << endl; // আউটপুট: 200

    Calculator<double> doubleCalc(5.5, 2.2);
    cout << "Double addition: " << doubleCalc.add() << endl;          // আউটপুট: 7.7
    cout << "Double multiplication: " << doubleCalc.multiply() << endl; // আউটপুট: 12.1

    return 0;
}

বিস্তারিত: এখানে Calculator একটি ক্লাস টেমপ্লেট যা T নামে একটি জেনেরিক টাইপ ব্যবহার করে। এটি int এবং double টাইপের জন্য একই অপারেশন সম্পন্ন করতে সক্ষম।


টেমপ্লেটসের সুবিধা

  1. কোড পুনরায় ব্যবহারযোগ্য: একই কোডকে একাধিক ডেটা টাইপের জন্য পুনরায় ব্যবহার করা যায়।
  2. নির্ভুলতা বৃদ্ধি: একই প্রকারের ফাংশন বা ক্লাস তৈরি করার ঝামেলা কমায়।
  3. কোড মেনটেন্যান্স সহজ করে: একবার টেমপ্লেট তৈরি করলে পরে সহজে পরিবর্তন করা যায়।

উপসংহার

ফাংশন এবং ক্লাস টেমপ্লেট প্রোগ্রামিংকে সহজ ও কার্যকর করে তোলে, কারণ এগুলি জেনেরিক কোড সরবরাহ করে যা বিভিন্ন ডেটা টাইপের সাথে ব্যবহার করা যায়। টেমপ্লেটস আমাদেরকে সময় বাঁচাতে এবং কোডের পুনরাবৃত্তি কমাতে সাহায্য করে।

Promotion

Are you sure to start over?

Loading...