LẬP TRÌNH C nâng cao - BÀI 4 - TEMPLATE
Số trang: 4
Loại file: pdf
Dung lượng: 130.51 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
BÀI 4: TEMPLATE
Hàm template
Giả sử chúng ta cần viết một hàm trả về số nguyên lớn nhất giữa 2 số, C++ cung cấp một giải pháp cho vấn đề này, đó là template....
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH C nâng cao - BÀI 4 - TEMPLATE LẬP TRÌNH C/C++ NÂNG CAO Yêu cầu trước khi đọc: học xong Lập trình C/C++ căn bản BÀI 4: TEMPLATE Hàm template Giả sử chúng ta cần viết một hàm trả về số nguyên lớn nhất giữa 2 số CODE int maximum(int a,int b) { return (a>b)?a:b; } Rồi đến số thực chúng ta cũng làm như vậy CODE double maximum(double a,double b) { return (a>b)?a:b; } Rồi giả sử như với lớp Person chúng ta cũng phải làm như vậy (toán tử > đã được overload) CODE Person maximum(Person a,Person b) { return (a>b)?a:b; } C++ cung cấp một giải pháp cho vấn đề này, đó là template CODE templateT maximum(T a,T b) { return (a>b)?a:b; } int main() { int a=7;int b=5; coutpair myobject(155,36); myobject.getmaximum(); Thật tuyệt, đúng không ? Vấn đề không đơn giản như vậy. Đau đầu Xem lại hàm template dưới đây CODE templateT maximum(T a,T b) { return (a>b)?a:b; } Ví dụ dưới đây thực ra là đang so sánh địa chỉ bộ nhớ (memory address) của 2 biến a và b CODE char* a = hello;char* b = world; coutr = new int; //tương đương với p = new int *r = 5; //tương đưong với *p = 5 cout
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH C nâng cao - BÀI 4 - TEMPLATE LẬP TRÌNH C/C++ NÂNG CAO Yêu cầu trước khi đọc: học xong Lập trình C/C++ căn bản BÀI 4: TEMPLATE Hàm template Giả sử chúng ta cần viết một hàm trả về số nguyên lớn nhất giữa 2 số CODE int maximum(int a,int b) { return (a>b)?a:b; } Rồi đến số thực chúng ta cũng làm như vậy CODE double maximum(double a,double b) { return (a>b)?a:b; } Rồi giả sử như với lớp Person chúng ta cũng phải làm như vậy (toán tử > đã được overload) CODE Person maximum(Person a,Person b) { return (a>b)?a:b; } C++ cung cấp một giải pháp cho vấn đề này, đó là template CODE templateT maximum(T a,T b) { return (a>b)?a:b; } int main() { int a=7;int b=5; coutpair myobject(155,36); myobject.getmaximum(); Thật tuyệt, đúng không ? Vấn đề không đơn giản như vậy. Đau đầu Xem lại hàm template dưới đây CODE templateT maximum(T a,T b) { return (a>b)?a:b; } Ví dụ dưới đây thực ra là đang so sánh địa chỉ bộ nhớ (memory address) của 2 biến a và b CODE char* a = hello;char* b = world; coutr = new int; //tương đương với p = new int *r = 5; //tương đưong với *p = 5 cout
Tìm kiếm theo từ khóa liên quan:
kỹ thuật lập trình lập trình c/c++ nâng cao lập trình c/c++ thủ thuật lập trình c ngôn ngữ lập trình nâng caTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 269 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 211 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 197 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 170 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 154 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 120 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 110 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 107 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 93 0 0