intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Ngôn ngữ lập trình: Khuôn mẫu - Nguyễn Thị Phương Dung

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:33

13
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Ngôn ngữ lập trình: Khuôn mẫu, cung cấp cho người học những kiến thức như: Khuôn mẫu hàm; Khuôn mẫu lớp; Khuôn mẫu và thừa kế. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Ngôn ngữ lập trình: Khuôn mẫu - Nguyễn Thị Phương Dung

  1. NGÔN NGỮ LẬP TRÌNH KHUÔN MẪU fit.hnue.edu.vn/~dungntp/NNLT 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 1
  2. Nội dung • Khuôn mẫu hàm • Khuôn mẫu lớp • Khuôn mẫu và thừa kế 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 2
  3. Xét ví dụ • Viết chương trình cho phép: – Nhập vào 2 số nguyên a, b. Thực hiện việc hoán đổi giá trị 2 biến a, b cho nhau. – Nhập vào 2 ký tự x, y. Thực hiện việc hoán đổi giá trị 2 biến x, y cho nhau. – Nhập vào 2 chuỗi str1, str2. Thực hiện việc hoán đổi giá trị 2 biến str1, str2 cho nhau. – …… 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 3
  4. => phải nạp chồng các hàm hoán đổi như sau 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 4
  5. Nếu yêu cầu hoán đổi 2 đối tượng khác nữa thì sao? 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 5
  6. Sử dụng Khuôn mẫu hàm 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 6
  7. Khuôn mẫu hàm • Là một mô hình (mẫu) giúp tạo định nghĩa chung cho những hàm Chỉ khác nhau về kiểu dữ liệu mà chúng thao tác. • Khuôn mẫu hàm khác với nạp chồng ở chỗ đoạn mã định nghĩa hàm chỉ cần viết MỘT LẦN 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 7
  8. Cú pháp của khuôn mẫu hàm • Sử dụng tiền tố khuôn mẫu template • Sau đó đến khai báo và định nghĩa hàm mà trong đó sử dụng T là một kiểu được thay thế cho bất kỳ 1 kiểu nào 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 8
  9. Như ví dụ trên • Thay tất cả các hàm hoán đổi bằng MỘT mẫu hàm như sau: 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 9
  10. Ví dụ • Lúc này trong hàm main gọi: – doicho(a, b) thì T sẽ được hiểu là kiểu int – doicho(a1, b1) thì T sẽ được hiểu là kiểu bool – doicho(a2, b2) thì T sẽ được hiểu là kiểu string 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 10
  11. Cách thức hoạt động của khuôn mẫu • Khi gọi một khuôn mẫu hàm với một kiểu dữ liệu, trình biên dịch sẽ tạo một định nghĩa hàm thực sự từ khuôn mẫu này dựa theo kiểu dữ liệu của tham số • Khuôn mẫu hàm không sử dụng bộ nhớ • Mã thực sự chỉ được tạo khi tên khuôn mẫu được gọi 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 11
  12. Cách thức hoạt động của khuôn mẫu • Mọi kiểu dữ liệu chỉ định trong khuôn mẫu hàm phải được dùng bên trong thân của khuôn mẫu hàm • Lời gọi hàm phải truyền đầy đủ tham số (với kiểu dữ liệu) được chỉ định trong khuôn mẫu hàm 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 12
  13. Cách thức hoạt động của khuôn mẫu • Khuôn mẫu hàm có thể được nạp chồng với danh sách tham số khác nhau • Giống như các hàm thông thường, khuôn mẫu hàm phải được định nghĩa trước khi gọi 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 13
  14. Bài tập • Tạo khuôn mẫu hàm tìm max của 2 tham số. • Viết chương trình tìm max của 2 số nguyên, 2 số thực, 2 chuỗi. 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 14
  15. Khuôn mẫu lớp • Tương tự như khuôn mẫu hàm • Khuôn mẫu lớp được dùng để tạo ra một lớp khái quát hơn cho các kiểu của dữ liệu và các hàm thành phần 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 15
  16. Cú pháp định nghĩa khuôn mẫu lớp Tiền tố khuôn mẫu 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 16
  17. Ví dụ khuôn mẫu lớp • Tạo ra một lớp chứa 1 cặp đôi các giá trị kiểu T – Nếu T là int thì đối tượng của lớp này sẽ chứa 1 cặp 2 số nguyên – Nếu T là char thì đối tượng của lớp này sẽ chứa 1 cặp 2 ký tự – …. 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 17
  18. Khai báo khuôn mẫu lớp 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 18
  19. Định nghĩa các hàm thành viên • Giống như định nghĩa các hàm thành viên của các lớp thông thường • Chỉ khác ở chỗ nó là một khuôn mẫu hàm • => Cần chú ý: – Phải có tiền tố khuôn mẫu trước mỗi định nghĩa – Tên lớp trước toán tử phân giải phạm vi :: 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 19
  20. Sử dụng khuôn mẫu lớp • Khuôn mẫu lớp có thể được sử dụng thay thế cho bất kỳ chỗ nào sử dụng các kiểu chuẩn • Để tạo các đối tượng của lớp • Để làm tham số cho hàm 02/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2