Bài giảng Lập trình: Chương 6 - Vũ Song Tùng

Bài giảng Lập trình chương 6 trang bị cho người học những kiến thức cơ bản về lập trình tổng quát như: Khuôn mẫu hàm (function template), khuân mẫu lớp, thuật toán tổng quát. Mời các bạn cùng tham khảo. | om .c Lập trình ng co an Chương 6 Lập trình tổng quát th o ng du u cu 2 10 2017 https tailieudientucntt Nội dung Khuân mẫu hàm Function template om Khuân mẫu lớp .c Thuật toán tổng quát ng co an th o ng du u cu Chương 5 Lập trình tổng quát 2 https tailieudientucntt Khuân mẫu hàm Ví dụ hàm tìm giá trị lớn nhất om a. Tìm max hai số nguyên int max const int amp a const int amp b .c return a gt b a b ng co an b. Tìm max hai số thực th float max const float amp a const float amp b ng return a gt b a b o du Nhận xét Các hàm tìm max của hai số chỉ khác nhau về kiểu dữ liệu u thuật toán giống nhau. cu Tương tự như vậy có rất nhiều hàm chỉ khác nhau về kiểu dữ liệu không khác về thuật toán Giải pháp tổng quát hóa các hàm chỉ khác nhau về kiểu khuôn mẫu hàm Chương 5 Lập trình tổng quát 3 https tailieudientucntt Ví dụ tổng quát hóa hàm max Tham số khuôn mẫu template T max const T amp a const T amp b Sử dụng từ khóa om return a gt b a b class hoặc typename để khai báo tham số .c khuôn mẫu ng Khuôn mẫu hàm inline co template inline T max const T amp a const T amp b an return a gt b a b th Compiler sẽ tạo một hàm theo khuôn mẫu ng Sử dụng có dạng int max const int amp const int amp o int max 5 7 du u cu Chương 5 Lập trình tổng quát 4 https tailieudientucntt Ví dụ sử dụng void main int i1 1 i2 5 double d1 d2 om double d max d1 d2 max double double char c max c a max char char .c d max i1 d1 error ambiguous ng c max c i1 error ambiguous d max d1 i1 OK explicit qualification co c max c i1 OK explicit qualification an Áp dụng cho complex th ng class complex void main double real imag complex c1 o complex c2 du public complex double r 0 int complex c max c1 c2 u i 0 cu double get_real Lỗi vì lớp complex trên chưa định void set_real double nghĩa phép so sánh gt sử dụng trong double get_imag hàm khuôn mẫu max void set_imag double .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
187    24    1    25-11-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.