Bài giảng Lập trình: Chương 6 - Vũ Song Tùng
Số trang: 25
Loại file: pdf
Dung lượng: 367.57 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình: Chương 6 - Vũ Song Tùng om .c Lập trình ng co anChương 6: Lập trình tổng quát th o ng du u cu 2/10/2017 CuuDuongThanCong.com https://fb.com/tailieudientucnttNội dung 6.1 Khuân mẫu hàm (Function template) om 6.2 Khuân mẫu lớp .c 6.3 Thuật toán tổng quát ng co an th o ng du u cuChương 5: Lập trình tổng quát 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt6.1 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 &a, const int &b){ .c return (a > b)? a: b; ng } co an b. Tìm max hai số thực th float max(const float &a, const float &b){ ng return (a > 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àmChương 5: Lập trình tổng quát 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ tổng quát hóa hàm max Tham số khuôn mẫu template T max(const T &a,const T &b){ Sử dụng từ khóa om return (a > 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 &a,const T &b) { an return (a > 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&, const int&) o int max(5,7); du u cuChương 5: Lập trình tổng quát 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ sử dụng void main() { int i1 = 1, i2 = 5; double d1 = 1.0, d2 = 2.0; 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{ ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình: Chương 6 - Vũ Song Tùng om .c Lập trình ng co anChương 6: Lập trình tổng quát th o ng du u cu 2/10/2017 CuuDuongThanCong.com https://fb.com/tailieudientucnttNội dung 6.1 Khuân mẫu hàm (Function template) om 6.2 Khuân mẫu lớp .c 6.3 Thuật toán tổng quát ng co an th o ng du u cuChương 5: Lập trình tổng quát 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt6.1 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 &a, const int &b){ .c return (a > b)? a: b; ng } co an b. Tìm max hai số thực th float max(const float &a, const float &b){ ng return (a > 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àmChương 5: Lập trình tổng quát 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ tổng quát hóa hàm max Tham số khuôn mẫu template T max(const T &a,const T &b){ Sử dụng từ khóa om return (a > 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 &a,const T &b) { an return (a > 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&, const int&) o int max(5,7); du u cuChương 5: Lập trình tổng quát 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ sử dụng void main() { int i1 = 1, i2 = 5; double d1 = 1.0, d2 = 2.0; 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{ ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình Ngôn ngữ lập trình Kỹ thuật lập trình Lập trình tổng quát Khuôn mẫu hàm Function templateTài liệu có liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 318 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 310 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 294 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 251 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 248 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 242 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 232 1 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 223 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 204 0 0 -
Thiết kế mạch logic bằng Verilog - HDL
45 trang 197 0 0