OVERALL COURSE OUTLINE
AND COURSE PROGRESSION SO FAR
Chapter 1. Introduction To OOP (3 hrs)
Chapter 2. Introduction to C++ (2 hrs)
Chapter 3. C++ Language Constructs (6 hrs)
Chapter 4. Objects and Class (6 hrs)
Chapter 5. Operator Overloading (5 hrs)
Chapter 6. Inheritance (5 hrs)
Chapter 7. Polymorphism and Dynamic Binding (4 hrs)
Chapter 8. Stream Computation for Console and File I/O (5 hrs)
Chapter 9. Templates (5 hrs)
Chapter 10. Exception Handling (4 hrs)
Planned Chapter Sequence: 1, 2, 3, 4, 5, 6, 9, 10, 7, 8
Course Progression after this lecture: 71 %
Approximated marks covered: 56 out of 80
Total Hours so far: 16 Classes (32 Academic Hours)
3
CHAPTER OUTLINE
CHAPTER NINE
TEMPLATES
-5 HOURS
9.1 Function Template
9.2 Overloading Function Template
9.2.1 Overloading with Functions
9.2.2 Overloading with other Template
9.3 Class Template
9.3.1 Function Definition of Class Template
9.3.2 Non‐template type Arguments
9.3.3 Default Arguments with Class Template
9.4 Derived Class Template
9.5 Introduction to Standard Template Library
9.5.1 Containers
9.5.2 Algorithms
GENERIC PROGRAMMING
→ Generic programming is about generalizing software
components so that they can be easily reused in a wide variety
of situations.
→ Generic programming is a style of computer programming in
which algorithms are written in terms of types to-be-
specified-later that are then instantiated when needed for
specific types provided as parameters.
→ In C++, class and function templates are particularly effective
mechanisms for generic programming because they make the
generalization possible without sacrificing efficiency.