Ngôn ngữ lập trình - Chapter 6 (HUST) Thầy Vũ Song Tùng
正在生成预览...
Chương 6 về lập trình tổng quát, tập trung vào khuôn mẫu hàm (function template), khuôn mẫu lớp và thuật toán tổng quát. Tài liệu giới thiệu cách sử dụng template để tổng quát hóa các hàm chỉ khác nhau về kiểu dữ liệu.
描述
.c ng co Lập trình om cu u du on g th an Chương 6: Lập trình tổng quát 2/10/2017 Nội dung cu u du on g th an co ng .c om 6.1 Khuân mẫu hàm (Function template) 6.2 Khuân mẫu lớp 6.3 Thuật toán tổng quát Chương 5: Lập trình tổng quát 2 6.1 Khuân mẫu hàm om Ví dụ hàm tìm giá trị lớn nhất .c a. Tìm max hai số nguyên int max(const int &a, const int &b){ b. Tìm max hai số thực th an co } ng return (a > b)? a: b; du on g float max(const float &a, const float &b){ return (a > b)? a: b; } 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, thuật toán giống nhau. 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 cu u Chương 5: Lập trình tổng quát 3 Ví dụ tổng quát hóa hàm max Tham số khuôn mẫu template <class T> .c return (a > b)? a: b; } co ng Khuôn mẫu hàm inline Sử dụng từ khóa class hoặc typename để khai báo tham số khuôn mẫu om T max(const T &a,const T &b){ Sử dụng du on g th an template <typename T> inline T max(const T &a,const T &b) { return (a > b)? a : b; } cu u int max(5,7); Compiler sẽ tạo một hàm theo khuôn mẫu có dạng int max(const int&, const int&) Chương 5: Lập trình tổng quát 4 Ví dụ sử dụng th an co ng .c om void main() { int i1 = 1, i2 = 5; double d1 = 1.0, d2 = 2.0; double d = max(d1,d2); // max<double>(double,double) char c = max('c','a'); // max<char>(char, char) d = max(i1,d1); // error: ambiguous c = max('c',i1); // error: ambiguous d = max<
AI 摘要
- 文档名称
- Ngôn ngữ lập trình - Chapter 6 (HUST) Thầy Vũ Song Tùng
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Ngôn ngữ lập trình
- 作者(文档中)
- Vũ Song Tùng
- 内容
- Tài liệu giới thiệu lập trình tổng quát với khuôn mẫu hàm và lớp, cho phép viết mã linh hoạt với nhiều kiểu dữ liệu. Nó cung cấp ví dụ về cách tạo, sử dụng và xử lý các trường hợp phức tạp của khuôn mẫu hàm.
- 目录
- 6.1 Khuân mẫu hàm (Function template)
- 6.2 Khuân mẫu lớp
- 6.3 Thuật toán tổng quát
- 页数
- 25 页
- 上传者
- lienhejb
常见问题
此文档免费吗?
是的。“Ngôn ngữ lập trình - Chapter 6 (HUST) Thầy Vũ Song Tùng”是免费的 — 只需登录并点击“下载”即可获取原始文件。
这份文档有多少页?
该文档共有 25 页,适用于课程 Ngôn ngữ lập trình。您可以在下载前进行在线预览。
我可以在下载前预览吗?
是的。您可以通过在线阅读器直接在本页面预览此文档,然后再决定是否下载。
Ngôn ngữ lập trình - Chapter 6 (HUST) Thầy Vũ Song Tùng
正在生成预览...
.c ng co Lập trình om cu u du on g th an Chương 6: Lập trình tổng quát 2/10/2017 Nội dung cu u du on g th an co ng .c om 6.1 Khuân mẫu hàm (Function template) 6.2 Khuân mẫu lớp 6.3 Thuật toán tổng quát Chương 5: Lập trình tổng quát 2 6.1 Khuân mẫu hàm om Ví dụ hàm tìm giá trị lớn nhất .c a. Tìm max hai số nguyên int max(const int &a, const int &b){ b. Tìm max hai số thực th an co } ng return (a > b)? a: b; du on g float max(const float &a, const float &b){ return (a > b)? a: b; } 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, thuật toán giống nhau. 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 cu u Chương 5: Lập trình tổng quát 3 Ví dụ tổng quát hóa hàm max Tham số khuôn mẫu template <class T> .c return (a > b)? a: b; } co ng Khuôn mẫu hàm inline Sử dụng từ khóa class hoặc typename để khai báo tham số khuôn mẫu om T max(const T &a,const T &b){ Sử dụng du on g th an template <typename T> inline T max(const T &a,const T &b) { return (a > b)? a : b; } cu u int max(5,7); Compiler sẽ tạo một hàm theo khuôn mẫu có dạng int max(const int&, const int&) Chương 5: Lập trình tổng quát 4 Ví dụ sử dụng th an co ng .c om void main() { int i1 = 1, i2 = 5; double d1 = 1.0, d2 = 2.0; double d = max(d1,d2); // max<double>(double,double) char c = max('c','a'); // max<char>(char, char) d = max(i1,d1); // error: ambiguous c = max('c',i1); // error: ambiguous d = max<
阅读全文
- 文档名称
- Ngôn ngữ lập trình - Chapter 6 (HUST) Thầy Vũ Song Tùng
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Ngôn ngữ lập trình
- 作者(文档中)
- Vũ Song Tùng
- 内容
- Tài liệu giới thiệu lập trình tổng quát với khuôn mẫu hàm và lớp, cho phép viết mã linh hoạt với nhiều kiểu dữ liệu. Nó cung cấp ví dụ về cách tạo, sử dụng và xử lý các trường hợp phức tạp của khuôn mẫu hàm.
- 目录
- 6.1 Khuân mẫu hàm (Function template)
- 6.2 Khuân mẫu lớp
- 6.3 Thuật toán tổng quát
- 页数
- 25 页
- 上传者
- lienhejb
评论 (0)
暂无评论。快来抢沙发吧!
K5 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K2 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K3 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K4 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K1 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
评论 (0)
暂无评论。快来抢沙发吧!