
Chủ Đề: ứng Dụng Template Trong C++
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Chủ Đề: ứng Dụng Template Trong C++ (dung_thomrau) Chủ Đề: ứng Dụng Template Trong C++Yêu cầu: trình bày những ứng dụng thiết thực nhất khi ngu ời dùngsử dụng template trong lập trình c++ bằng cách: slide ngắn gọn,rõ ràng,cô đọng.Có ví dụ cụ thể,làm nổi bật ý nghĩa của template. các thành viên: nhóm 18 1. nguyễn văn Dũng: 070064T 2.Lê văn Hoàng :070457M 3.hoàng nguyên Anh:070023T 4.Nguyễn tuấn Anh :070027T 1 (dung_thomrau) Giới thiệu chung.template(khuôn mẫu)1.Template là gì ?Template giống như một cỗ máy có khả năng sản xuất ra các hàm vàlớp dựa vào kiểu của các tham số. Bằng cách sử dụng template, bạn cóthể chỉ cần thiết kế 1 lớp (hàm) mà có khả năng thao tác với nhiều loạidữ liệu khác nhau, thay vì bạn phải tạo nhiều lớp (hàm) khác nhau đểthao tác với từng loại dữ liệu khác nhau.2.Template hổ trợ ở đâu. Được hổ trợ trong c++,lập trình hướng đối tượng.3. Đặc điểm. Template không phải là các hàm, lớp thông thường, chúng được compliedựa theo yêu cầu, có nghĩa là code của template function không đượcbiên dịch (complie) cho đến khi có một thể hiện (instantiation) của nóđược đòi hỏi (sử dụng). Ngay lúc đó complier tạo ra một hàm cụ thể chokiểu dữ liệu cụ thể. 24. Một số template có sẵn trong C++ CArray : template class dùng tạo ra mảng với các phần tử có kiểu tuỳ ý. CArray cung cấp cáđể c mảng tương tự như mảng trong C nhưng với CArray bạn có thể tăng hoặc giảm số lượng các phần tử khi cần thiết. Chỉ số của mảng (array index) luôn bắt đầu từ 0. Các truy suất CArray cũng tương tự như array trong C. CList : template class dùng để tạo ra list với các phần tử có kiểu tuỳ ý. CList cung cấp các danh sách liên kết đôi đã được sắp xếp. CTypedPtrArray : template class for type-safe arrays of pointers. Ngoài ra còn có CTypedPtrList : template class for type-safe lists of pointers. CTypedPtrMap : template class for type-safe maps with pointers. CMap : template class dùng để tạo ra map với các phần tử có key và kiểu tuỳ ý. Giá trị key là duy nhất trong một map. Dùng CMap bạn có thể coi nó như một cuốn tự điển dể tra cứu 1 cách dễ dàng các phần tử. 3 (dung_thomrau) Đây là một tính năng mới sử dụng theo chuẩn ANSI-C++ Quy tắc khai báo template trong 1 hàm: Templatefunction_declaration; từ khoá từ khoá Hàm thực thicú pháp :( 2 cách) Tên biến Templatefunction_declaration; (Tương tự) VD: template Kiểu dữ liệu t congmang(t a, int n); void main() { congmang(a,20); } //cộng 20 pt của mảng. 4 (dung_thomrau)ở ví dụ trên chúng ta đã tạo 1 kiểu dữ liệu có tên là t, vì vậytrong hàm sau đó ,t trở thành 1 kiểu dữ liệu hợp lệ vànó được sử dụng cho kiểu dữ liệu tham số mảng a,và giá trịtrả về của hàm congmang. vd: // function template #include using namespace std;template T GetMax (T a, T b){ T result; result = (a>b)? a : b; return (result); } 5 (dung_thomrau)int main (){ int i=5, j=6, k; long l=10, m=5, n; k=GetMax(i,j); n=GetMax(l,m); cout Ngoài ra chúng ta có thể sử dụng nhiều tham số khác nhau chotemplate trong cùng 1 hàmvdtemplate //hai tham số templateT GetMin (T a, U b){ return (a (dung_thomrau)Quy tắc khai báo template trong 1 class.cú pháp:Template class {........ }; từ khoá từ khoá Tên biến Tên lớp vd: template class TempClass { public: TempClass( void ); ~TempClass( void ); int MemberSet( T a, int b ); private: T Tarray[i]; int arraysize; }; 8 (dung_thomrau)Trong ví dụ này, template class sử dụng 2 tham số, một có kiểu làT và một là int. Tham số T có thể được truyền vào với bất cứ kiểunào, kể các các struct và các đối tượng. Ví dụ như khi bạn muốntạo ra một đối tượng dùng để thao tác với kiểu int thì bạn dùng nhưsau :và khi sử dụng thì chúng ta sử dụng giống như phần bên lớp đãtrình bày nhưng thêm vào từ khoá sauvd: từ khoá và kiểu dữ liệu thêm vàoTempClass myobject (5, 5);//TempClass myobject (5, 5); 9 (dung_thomrau)Tương tự như function template, bạn có thể sử dụng classtemplate để tạo ra tập hợp các lớp cùng tác động lên nhiều kiểudữ liệu khác nhau, ví dụ :vdtemplate class TempClass {public:TempClass( void );~TempClass( void );int MemberSet( T a, int b );private:T Tarray[i];int arraysize;};Trong ví dụ này, template class sử dụng 2 tham số, một có kiểu làT và một là int. Tham số T có thể được truyền vào với bất cứ kiểunào, kể các các struct và các đối tượng. Ví dụ như khi bạn muốntạo ra một đối tượng dùng để thao tác với kiểu int thì bạn dùngnhư sau : 10 ...
Tìm kiếm theo từ khóa liên quan:
Quy tắc khai báo template Ứng Dụng Template Chuyên môn hoá template Xây dựng website Quản lý web Lập trình webTài liệu có liên quan:
-
52 trang 464 1 0
-
74 trang 329 0 0
-
Báo cáo tốt nghiệp: Xây dựng website bán mũ bảo hiểm
60 trang 269 0 0 -
161 trang 139 1 0
-
[Thảo luận] Học PHP như thế nào khi bạn chưa biết gì về lập trình?
5 trang 137 0 0 -
Bài giảng Lập trình web nâng cao: Chương 8 - Trường ĐH Văn Hiến
36 trang 124 1 0 -
MỘT SỐ ĐIỂM CẦN CHÚ Ý KHI THIẾT KẾ WEB
5 trang 118 0 0 -
31 trang 116 0 0
-
GIÁO TRÌNH LẬP TRÌNH WEB_PHẦN 2_BÀI 3
3 trang 110 0 0 -
Lập Trình Web: Các trang quản trị trong PHP - GV: Trần Đình Nghĩa
8 trang 108 0 0 -
231 trang 99 1 0
-
101 trang 97 2 0
-
Xây dựng Website kê khai giờ giảng online cho cán bộ - giảng viên trường Đại học Cửu Long
8 trang 90 0 0 -
Đồ án tốt nghiệp Công nghệ thông tin: Tìm hiểu về flutter và ứng dụng
87 trang 71 0 0 -
Khóa luận tốt nghiệp: Xây dựng website dạy ngôn ngữ lập trình C# dành cho người mới bắt đầu
113 trang 71 0 0 -
Bài giảng Lập trình web nâng cao: Chương 7 - Trường ĐH Văn Hiến
16 trang 69 1 0 -
Xây dựng Website Thương mại điện tử
54 trang 59 0 0 -
Bài giảng Lập trình web bài 2: Làm quen với công cụ vẽ và sử dụng Symbol bảng Library
51 trang 58 0 0 -
Bài giảng Lập trình Web ASP.Net với C#: Chương 9 - Th.S Phạm Đào Minh Vũ
55 trang 56 0 0 -
80 trang 48 0 0