Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template)
Số trang: 27
Loại file: ppt
Dung lượng: 295.50 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nối tiếp nội dung của chương 5 "Bài giảng Ngôn ngữ lập trình C và C++", chương 6 trình bày các nội dung: Khái niệm về mẫu hàm, mẫu hàm, mẫu lớp, tạo mẫu hàm. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template) Phần 2: Ngôn ngữ lập trình C++ Chương 6: Mẫu (template) Các nội dung chính 1. Giới thiệu 2. Mẫu hàm 3. Mẫu lớp 2 1. Giới thiệu Khái niệm Mẫu (template): Là một kỹ thuật cho phép một thành phần chỉ cần được định nghĩa một lần hoặc một số ít lần, nhưng có thể được sử dụng lại nhiều lần cho nhiều đối tượng khác Là kỹ thuật cho phép tham số hóa kiểu dữ liệu; như cho phép định nghĩa cấu trúc Stack, với T là tham số kiểu, đại diện cho kiểu DL của các phần tử của Stack. Sau đó T có thể được thay thế bằng một kiểu DL cụ thể, ví dụ int, và C++ sẽ tự động tạo ra code để định nghĩa Stack Nó có thể dùng để thay thế cho việc định nghĩa chồng hàm Trong C++, các thành phần mà ta có thể tạo Mẫu là Hàm và Lớp 3 2. Mẫu hàm Khái niệm mẫu hàm Tạo mẫu hàm Sử dụng mẫu hàm 4 Khái niệm mẫu hàm Là hàm mà khi định nghĩa có sử dụng một hoặc nhiều mẫu Mẫu hàm được dùng để cho phép định nghĩa hàm một lần, nhưng có thể được gọi nhiều lần với tham số là các kiểu dữ liệu khác nhau template template int int i,i,j;j;char char a,b; a,b; void void swap swap(T (T&x, &x,TT&y){ &y){ float float x,x,y;y; TT zz==x;x; swap(i, swap(i,j); j); xx==y;y; swap(a, swap(a,b); b); y= y=z;z; swap(x, swap(x,y); y); }} 5 Tạo một mẫu hàm Cú pháp Khai báo tên mẫu Một mẫu hàm có thể sử dụng một template template void void swap1(T swap1(T&x,&x,TT&y){ &y){ hoặc nhiều tên TT zz==x;x; mẫu xx==y;y; y= y=z;z; }} Tên mẫu sẽ được sử dụng trongphần đầu và/hoặc trong thân hàm 6 Tạo một mẫu hàm Mẫu hàm có hai tên mẫu template template void void swap2 swap2(T (T&x, &x,UU&y){ &y){ TT zz==x;x; xx==(T) (T)y;y; y= y=(U) (U)z;z; }} 7 Sử dụng mẫu hàm Việc gọi mẫu hàm cũng giống như gọi hàm thông thường. Hàm được gọi này, khi đó được gọi là hàm thể hiện Khi gọi hàm mẫu, thì tùy theo kiểu dữ liệu của hàm thể hiện, mà chương trình dịch sẽ tự động tạo ra định nghĩa phù hợp cho hàm này. 8 Ví dụ áp dụng mẫu hàm 9. 9. int intmain(int main(intargc, argc,char* char*argv[]) argv[]){{ 1. 1. #include #include 10. 10. int inti=20,j=30; i=20,j=30; 2. 2. using usingnamespace namespacestd; std; 11. 11. char charc1='A',c2='B'; c1='A',c2='B'; 12. 12. float floatx=20.15, x=20.15,y=35.5; y=35.5; 3. 3. //Định //Địnhnghĩa nghĩamẫu mẫuhàm hàm 13. 13. //Gọi //Gọimẫu mẫuhàm hàm 4. 4. template template 14. 14. swap1(i,j); swap1(i,j); 5. 5. void voidswap1(T swap1(T&a,T &a,T&b) &b){{ 15. 15. swap1(c1,c2); swap1(c1,c2); 6. 6. TTc; c; 16. 16. swap1(x,y); swap1(x,y); 7. 7. c=a; c=a;a=b; a=b;b=c; b=c; 17. 17. coutV ...
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template) Phần 2: Ngôn ngữ lập trình C++ Chương 6: Mẫu (template) Các nội dung chính 1. Giới thiệu 2. Mẫu hàm 3. Mẫu lớp 2 1. Giới thiệu Khái niệm Mẫu (template): Là một kỹ thuật cho phép một thành phần chỉ cần được định nghĩa một lần hoặc một số ít lần, nhưng có thể được sử dụng lại nhiều lần cho nhiều đối tượng khác Là kỹ thuật cho phép tham số hóa kiểu dữ liệu; như cho phép định nghĩa cấu trúc Stack, với T là tham số kiểu, đại diện cho kiểu DL của các phần tử của Stack. Sau đó T có thể được thay thế bằng một kiểu DL cụ thể, ví dụ int, và C++ sẽ tự động tạo ra code để định nghĩa Stack Nó có thể dùng để thay thế cho việc định nghĩa chồng hàm Trong C++, các thành phần mà ta có thể tạo Mẫu là Hàm và Lớp 3 2. Mẫu hàm Khái niệm mẫu hàm Tạo mẫu hàm Sử dụng mẫu hàm 4 Khái niệm mẫu hàm Là hàm mà khi định nghĩa có sử dụng một hoặc nhiều mẫu Mẫu hàm được dùng để cho phép định nghĩa hàm một lần, nhưng có thể được gọi nhiều lần với tham số là các kiểu dữ liệu khác nhau template template int int i,i,j;j;char char a,b; a,b; void void swap swap(T (T&x, &x,TT&y){ &y){ float float x,x,y;y; TT zz==x;x; swap(i, swap(i,j); j); xx==y;y; swap(a, swap(a,b); b); y= y=z;z; swap(x, swap(x,y); y); }} 5 Tạo một mẫu hàm Cú pháp Khai báo tên mẫu Một mẫu hàm có thể sử dụng một template template void void swap1(T swap1(T&x,&x,TT&y){ &y){ hoặc nhiều tên TT zz==x;x; mẫu xx==y;y; y= y=z;z; }} Tên mẫu sẽ được sử dụng trongphần đầu và/hoặc trong thân hàm 6 Tạo một mẫu hàm Mẫu hàm có hai tên mẫu template template void void swap2 swap2(T (T&x, &x,UU&y){ &y){ TT zz==x;x; xx==(T) (T)y;y; y= y=(U) (U)z;z; }} 7 Sử dụng mẫu hàm Việc gọi mẫu hàm cũng giống như gọi hàm thông thường. Hàm được gọi này, khi đó được gọi là hàm thể hiện Khi gọi hàm mẫu, thì tùy theo kiểu dữ liệu của hàm thể hiện, mà chương trình dịch sẽ tự động tạo ra định nghĩa phù hợp cho hàm này. 8 Ví dụ áp dụng mẫu hàm 9. 9. int intmain(int main(intargc, argc,char* char*argv[]) argv[]){{ 1. 1. #include #include 10. 10. int inti=20,j=30; i=20,j=30; 2. 2. using usingnamespace namespacestd; std; 11. 11. char charc1='A',c2='B'; c1='A',c2='B'; 12. 12. float floatx=20.15, x=20.15,y=35.5; y=35.5; 3. 3. //Định //Địnhnghĩa nghĩamẫu mẫuhàm hàm 13. 13. //Gọi //Gọimẫu mẫuhàm hàm 4. 4. template template 14. 14. swap1(i,j); swap1(i,j); 5. 5. void voidswap1(T swap1(T&a,T &a,T&b) &b){{ 15. 15. swap1(c1,c2); swap1(c1,c2); 6. 6. TTc; c; 16. 16. swap1(x,y); swap1(x,y); 7. 7. c=a; c=a;a=b; a=b;b=c; b=c; 17. 17. coutV ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Ngôn ngữ lập trình C Bài giảng Ngôn ngữ lập trình C++ Ngôn ngữ lập trình C Ngôn ngữ lập trình C++ Khái niệm về mẫu hàm Tạo mẫu hàmGợi ý tài liệu liên quan:
-
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 347 0 0 -
46 trang 239 0 0
-
101 trang 193 1 0
-
Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền
100 trang 179 1 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 177 0 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 143 0 0 -
51 trang 132 0 0
-
161 trang 126 1 0
-
Giáo trình Vi điều khiển PIC: Phần 1
119 trang 114 0 0 -
Thực hành ngôn ngữ lập trình C
6 trang 112 0 0