tailieunhanh - Chapter 5 Template
Trong lập trình nhiều khi gặp một loạt các hàm giống nhau về giải thuật, chỉ khác nhau về kiểu dữ liệu. Để tránh viết lặp lại các giải thuật, ta xây dựng mô hình hàm. Ví dụ . Hàm tìm max cho số nguyên, thực: int max(int a, int b) { return (ab) ? a:b; } float max(float a, float b) { return (ab) ? a:b; } | Chapter Lương Xuân Phú IT Faculty, Vinh University Mục đích Giới thiệu về việc sử dụng mô hình xây dựng các bài toán tổng quát gồm: Mô hình hàm Mô hình lớp Nội dung Mô hình hàm Định nghĩa và sử dụng Giới hạn của mô hình hàm Cụ thể hóa mô hình hàm Mô hình lớp Định nghĩa và sử dụng Giới hạn của mô hình lớp Cụ thể hóa mô hình lớp Mô hình hàm Trong lập trình nhiều khi gặp một loạt các hàm giống nhau về giải thuật, chỉ khác nhau về kiểu dữ liệu. Để tránh viết lặp lại các giải thuật, ta xây dựng mô hình hàm. Ví dụ . Hàm tìm max cho số nguyên, thực: int max(int a, int b) { return (a>b) ? a:b; } float max(float a, float b) { return (a>b) ? a:b; } Mô hình hàm Hai hàm này chỉ khác nhau điểm duy nhất là kiểu dữ liệu. Mô hình hàm cho phép định nghĩa một mô hình giải thuật chung cho hàm max bằng kiểu dữ liệu là tên 1 lớp trung gian. Tên lớp trung gian này sẽ được thay thế bằng kiểu dữ liệu cụ thể khi gọi mô hình. Mô hình hàm Định nghĩa mô hình hàm: template b) ? a:b; } float max(float a, float b) { return (a>b) ? a:b; } Mô hình hàm Hai hàm này chỉ khác nhau điểm duy nhất là kiểu dữ liệu. Mô hình hàm cho phép định nghĩa một mô hình giải thuật chung cho hàm max bằng kiểu dữ liệu là tên 1 lớp trung gian. Tên lớp trung gian này sẽ được thay thế bằng kiểu dữ liệu cụ thể khi gọi mô hình. Mô hình hàm Định nghĩa mô hình hàm: template (Các tham số) { } Ví dụ: template T max(T a, T b) { return (a>b) ? a:b; } Mô hình hàm Khai báo template có nghĩa T là tên lớp của mô hình. T sẽ được thay thế bằng kiểu dữ liệu cụ thể như int, float, khi gọi mô hình. Gọi mô hình hàm giống như gọi hàm bình thường. Khi gọi mô hình hàm max với tham số truyền vào, chương trình dịch nhận biết kiểu dữ liệu truyền vào và sinh ra 1 hàm cụ thể. Mô hình hàm #include #include template T max(T a, T b){ return (a>b) ? a:b; } void main(){ int a=2, b=3; cout là toán tử được sử dụng trong mô hình hàm max thì có thể gọi max(a,b) .
đang nạp các trang xem trước