Module 3

Templates & Generic Programming in C++

25 mins read

Lesson 1: Class & Function Templates

1.1 Introduction to C++ Templates

Templates enable type-independent generic classes and algorithm compilation.

C++
#include <iostream>

template <typename T>
class Pair {
private:
    T first, second;
public:
    Pair(T a, T b) : first(a), second(b) {}
    T getFirst() const { return first; }
};

int main() {
    Pair<int> p(10, 20);
    std::cout << p.getFirst() << std::endl;
    return 0;
}