1. Trang chủ
  2. » Công Nghệ Thông Tin

Phần 2: Ngôn ngữ lập trình C++ Chương 6: Mẫu (template) pdf

27 382 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 297,5 KB

Nội dung

Phần 2: Ngơn ngữ lập trình C++ Chương 6: Mẫu (template) Các nội dung Giới thiệu Mẫu hàm Mẫu lớp Giới thiệu  Khái niệm Mẫu (template):     Là kỹ thuật cho phép thành phần cần định nghĩa lần số lần, 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 liệu; cho phép định nghĩa cấu trúc Stack, với T tham số kiểu, đại diện cho kiểu DL phần tử Stack Sau T thay kiểu DL cụ thể, ví dụ int, C++ tự động tạo code để định nghĩa Stack Nó dùng để thay cho việc định nghĩa chồng hàm Trong C++, thành phần mà ta tạo Mẫu Hàm Lớp 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 Khái niệm mẫu hàm   Là hàm mà định nghĩa có sử dụng nhiều mẫu Mẫu hàm dùng phép định nghĩa hàm lần, gọi nhiều lần với tham số kiểu liệu khác template template void swap (T &x, T &y){ void swap (T &x, T &y){ T zz= x; T = x; xx= y; = y; y= z; y= z; }} int i,i,j;j;char a,b; int char a,b; float x, y; float x, y; swap(i, j); swap(i, j); swap(a, b); swap(a, b); swap(x, y); swap(x, y); Tạo mẫu hàm  Cú pháp  Một mẫu hàm sử dụng nhiều tên mẫu Khai báo tên mẫu template template void swap1(T &x, T &y){ void swap1(T &x, T &y){ T zz= x; T = x; xx= y; = y; y= z; y= z; }} Tên mẫu sử dụng trongphần đầu và/hoặc thân hàm Tạo mẫu hàm  Mẫu hàm có hai tên mẫu template template void swap2 (T &x, U &y){ void swap2 (T &x, U &y){ T zz= x; T = x; xx= (T) y; = (T) y; y= (U) z; y= (U) z; }} Sử dụng mẫu hàm   Việc gọi mẫu hàm giống gọi hàm thông thường Hàm gọi này, gọi hàm thể Khi gọi hàm mẫu, tùy theo kiểu liệu hàm thể hiện, mà chương trình dịch tự động tạo định nghĩa phù hợp cho hàm Ví dụ áp dụng mẫu hàm #include #include using namespace std; using namespace std; 3 4 5 6 7 8 //Định nghĩa mẫu hàm //Định nghĩa mẫu hàm template template void swap1(T &a,T &b) {{ void swap1(T &a,T &b) T c; T c; c=a; a=b; b=c; c=a; a=b; b=c; }} int main(int argc, char* argv[]) {{ int main(int argc, char* argv[]) 10 int i=20,j=30; 10 int i=20,j=30; 11 char c1='A',c2='B'; 11 char c1='A',c2='B'; 12 float x=20.15, y=35.5; 12 float x=20.15, y=35.5; 13 //Gọi mẫu hàm 13 //Gọi mẫu hàm 14 swap1(i,j); 14 swap1(i,j); 15 swap1(c1,c2); 15 swap1(c1,c2); 16 swap1(x,y); 16 swap1(x,y); 17 cout

Ngày đăng: 06/08/2014, 00:21

TỪ KHÓA LIÊN QUAN

w