Tài liệu tham khảo giáo trình Lập trình hướng đối tượng - Chương 5: Templates | Chương 5 TEMPLATES Lập trình hướng đối tượng – Templates Tài liệu đọc Lập trình hướng đối tượng – Templates Templates Function templates Class templates Inheriting Template Classes Lập trình hướng đối tượng – Templates Templates According to the dictionary, a template is a pattern or guide used to replicate an object . a biscuit cutter. Lập trình hướng đối tượng – Templates Function templates A function template is a pattern for creating a family of similar functions. If you need two or more functions with identical behaviour that differ only in their parameter types, you can write a function template that the compiler will use to generate the definitions of the actual functions. Lập trình hướng đối tượng – Templates Function templates A function template has the general form template returnType functionName(parameterList) { // Body of the function } Lập trình hướng đối tượng – Templates Function templates (I) The keyword template indicates that what follows is a function template, not an actual function. The notation is the template parameter list. Lập trình hướng đối tượng – Templates Function templates (II) The keyword class indicates that T is a generic type . a placeholder for a data type used by the function. The identifier T appears throughout the function definition wherever this type needs to be written. Lập trình hướng đối tượng – Templates Generated functions When the function template is called, the compiler deduces the type of the actual argument and substitutes it for the generic type T, creating what is known as a generated function. The act of generating a function is referred to as instantiating the template. Lập trình hướng đối tượng – Templates template void swap ( T& first, T& second) { T temporary = first; first = second; second = temporary; } Example 1 Lập trình hướng đối tượng – Templates int main(void) { int x = 1 , y = 2 ; char a = 'A‘ ; char b = ‘B’; | Chương 5 TEMPLATES Lập trình hướng đối tượng – Templates Tài liệu đọc Lập trình hướng đối tượng – Templates Templates Function templates Class templates Inheriting Template Classes Lập trình hướng đối tượng – Templates Templates According to the dictionary, a template is a pattern or guide used to replicate an object . a biscuit cutter. Lập trình hướng đối tượng – Templates Function templates A function template is a pattern for creating a family of similar functions. If you need two or more functions with identical behaviour that differ only in their parameter types, you can write a function template that the compiler will use to generate the definitions of the actual functions. Lập trình hướng đối tượng – Templates Function templates A function template has the general form template returnType functionName(parameterList) { // Body of the function } Lập trình hướng đối tượng – Templates Function templates (I) The keyword template .