Danh mục

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    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (4 trang) 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

Tài liệu được xem nhiều: