BÁO CÁO LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Tìm hiểu về mẫu hàm (function template), mẫu lớp (class template)

57 2.2K 0
BÁO CÁO LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Tìm hiểu về mẫu hàm (function template), mẫu lớp (class template)

Đ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

BÀI TẬP LỚN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Giảng viên hướng dẫn: Ngô Công Thắng Nhóm thực hiện : Nguyễn Thị Huyền Phan Thị Chương Nguyễn Thị Thu Quỳnh Dương Thị Thanh Thúy Lớp : THC_K52 Nội dung A) LÝ THUYẾT I. KHUÔN MẪU ( template ) trong C++ 1. Định nghĩa 2. Khuôn mẫu hàm(Function template) 3.Khuôn mẫu lớp (Class template) 4 . Một số Template có sẵn 5. Tổng kết về Template II) SƠ LƯỢC VỀ THƯ VIỆN STL 1.Định nghĩa STL. 2. Thư viện chuẩn các mảng chứa. 3. Thư viện chuẩn tổng quát. 4. Thư viện chuẩn các dãy ký tự. 5. Thư viện chuẩn Streams và input/output. 6. Thư viện chuẩn các số 8. Các thành phần chính của STL gồm: 7. Thư viện chuẩn hỗ trợ ngôn ngữ lập trình. III. CÁCH SỬ DỤNG LỚP STRING CHUẨN VÀ CÁC HÀM THÀNH VIÊN CỦA LỚP NÀY. 1.Cách sử dụng lớp String 2.Các hàm thành viên của lớp này B .CHƯƠNG TRÌNH A) LÝ THUYẾT I. KHUÔN MẪU ( template ) trong C++ 1) Định nghĩa  Template là một tính năng chỉ có trong C++, nó được giới thiệu bởi tổ chức đo lường chuẩn của Mỹ (ANSI)  Template (khuôn mẫu) là một cơ chế thay thế mã cho phép tạo các cấu trúc mà không phải chỉ rõ kiểu dữ liệu.  Từ khoá template được dùng trong C++ để báo cho trình biên dịch rằng đoạn mã theo sau sẽ thao tác một hoặc nhiều kiểu dữ liệu chưa xác định.  Từ khoá template được theo sau bởi một cặp ngoặc nhọn chứa tên của các kiểu dữ liệu tuỳ ý được cung cấp.  Cú Pháp  template <typename T>  template <typename T, typename U> Lệnh template chỉ có hiệu quả đối với khai báo ngay sau nó  Một VD về template: template <class myType> myType GetMax (myType a, myType b) { return (a>b?a:b); }  Hai loại khuôn mẫu cơ bản:  Function template (Khuôn mẫu hàm ): khuôn mẫu hàm cho phép định nghĩa các hàm tổng quát dùng đến các kiểu dữ liệu tuỳ ý.  Class template (Khuôn mẫu lớp): khuôn mẫu lớp cho phép định nghĩa các lớp tổng quát dùng đến các kiểu dữ liệu tuỳ ý. 2) Khuôn mẫu hàm(Function template)  Mẫu hàm là những hàm có những chức năng đặc biệt , có thể hoạt động chung với các loại. Điều này cho phép tạo ra một mẫu có những chức năng và những tính năng có thể được điều chỉnh để phù hợp với nhiều hơn một loại hoặc các lớp học mà không có sự lặp đi lặp lại toàn bộ mã số cho từng loại.  Trong C / C + + mẫu hàm có thể được tạo ra bằng cách sử dụng các “tham số mẫu”.Tham số mẫu là một loại đặc biệt của tham số,nó có thể được sử dụng để truyền vào một đối số: Giống như các hàm thông thường các tham số có thể được sử dụng để truyền giá trị cho một hàm, các tham số mẫu cũng cho phép truyền các kiểu tới 1 hàm  Các mẫu hàm có thể sử dụng các tham số này nếu chúng là bất cứ một kiểu thông thường nào khác a. Khai báo Khai báo mẫu của nó có thể là một trong hai kiểu sau:  template <class identifier> function_declaration  template <typename identifier> function_declaration [...]... tạo ra các lớp mà không cần định nghĩa cho kiểu dữ liệu của lớp tại thời điểm khai báo lớp Chúng ta cũng có thể sử dụng class templates để xây dựng các lớp giống nhau về bản chất xử lý nhưng khác nhau về kiểu dữ liệu Chúng ta có thể khai báo mẫu lớp như sau:  template  class C  {  //Khai báo các thành phần của lớp C  }  Khi cần sử dụng mẫu lớp này ta chỉ việc gọi tên mẫu lớp với... 3.Khuôn mẫu lớp 3.1.Khái niệm  Có thể sử dụng template để xây dựng một khuôn hình lớp trong đó kiểu thuộc tính được xem như là các đối. Bằng cách đó ta có thể tạo ra một họ các lớp giống nhau về bản chất xử lý,nhưng khác nhau về kiểu dữ liệu  Khuôn hình lớp là những lớp được xây dựng trong đó các thành phần dữ liệu hoặc các hàm thành phần của lớp sử dụng các kiểu dữ liệu trừu tượng. Khi chương trình. ..b Cú pháp cài đặt mẫu hàm Chúng ta sẽ xác định cú pháp cài đặt mẫu hàm thông qua ví dụ sau:  Ví dụ hàm trị tuyệt đối template T abs(T n) { Return ((nb)? a : b;... của riêng chúng ta nên thật sự không có gì phân biệt giữa các kiểu và các lớp. Biến theo sau từ khóa class( là T trong ví dụ trên) được gọi là đối số mẫu c Ý Nghĩa       Ưu điểm Tiết kiệm được mã nguồn -> dễ bao quát, dễ kiểm soát lỗi nâng cao hiệu quả lập trình Đảm bảo được tính chặt chẽ về kiểm tra mạnh trong ngôn ngữ lập trình Tính mở, nâng cao giá trị sử dụng lại của phần mềm : thuật toán viết . KHUÔN MẪU ( template ) trong C++ 1. Định nghĩa 2. Khuôn mẫu hàm( Function template) 3.Khuôn mẫu lớp (Class template) 4 . Một số Template có sẵn 5. Tổng kết về Template II) SƠ LƯỢC VỀ THƯ. ngữ lập trình. III. CÁCH SỬ DỤNG LỚP STRING CHUẨN VÀ CÁC HÀM THÀNH VIÊN CỦA LỚP NÀY. 1.Cách sử dụng lớp String 2.Các hàm thành viên của lớp này B .CHƯƠNG TRÌNH A) LÝ THUYẾT I. KHUÔN MẪU (. template (Khuôn mẫu hàm ): khuôn mẫu hàm cho phép định nghĩa các hàm tổng quát dùng đến các kiểu dữ liệu tuỳ ý.  Class template (Khuôn mẫu lớp) : khuôn mẫu lớp cho phép định nghĩa các lớp tổng quát

Ngày đăng: 14/04/2015, 09:00

Từ khóa liên quan

Mục lục

  • BÀI TẬP LỚN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

  • Nội dung

  • Slide 3

  • A) LÝ THUYẾT

  • Slide 5

  • Slide 6

  • Slide 7

  • 2) Khuôn mẫu hàm(Function template)

  • Slide 9

  • a. Khai báo

  • b. Cú pháp cài đặt mẫu hàm

  • Slide 12

  • c. Ý Nghĩa

  • Slide 14

  • Slide 15

  • Slide 16

  • 3.Khuôn mẫu lớp

  • 3.2.Ý nghĩa :

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan