Định nghĩa: Ví dụ 1: xây dựng hàm tìm max của hai số thực Xây dựng hàm tính max của ba số thực Xây dựng hàm tính max của n số thực. Giải quyết: Nạp chồng hàm max. Vấn đề được giải quyết, nhưng phải viết n hàm. | Hà Văn Sang Bộ môn: Tin học TC – KT Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: Email: sanghv@ Website: Lập trình hướng đối tượng CHƯƠNG VI Khuôn hình 1. Khuôn hình hàm Định nghĩa Ví dụ 1: xây dựng hàm tìm max của hai số thực Xây dựng hàm tính max của ba số thực Xây dựng hàm tính max của n số thực Giải quyết: Nạp chồng hàm max Vấn đề được giải quyết, nhưng phải viết n hàm 1. Khuôn hình hàm Ví dụ 2: xây dựng hàm tìm max của hai số bất kỳ Giải quyết: int max(int a, int b){ if(a>b) return a; elsse return b;} float max(float a, float b){ if(a>b) return a; elsse return b;} 1. Khuôn hình hàm Khái niệm Là mẫu của hàm có tham số là kiểu của đối số Với mỗi giá trị hợp lệ của đối số sẽ phát sinh một hàm cụ thể gọi là hàm thể hiện Khai báo: template ([ds tham số]) { //thân khuôn hình hàm } 1. Khuôn hình hàm Ví dụ1 : template T max(T a, T b){ if(a>b) . | Hà Văn Sang Bộ môn: Tin học TC – KT Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: Email: sanghv@ Website: Lập trình hướng đối tượng CHƯƠNG VI Khuôn hình 1. Khuôn hình hàm Định nghĩa Ví dụ 1: xây dựng hàm tìm max của hai số thực Xây dựng hàm tính max của ba số thực Xây dựng hàm tính max của n số thực Giải quyết: Nạp chồng hàm max Vấn đề được giải quyết, nhưng phải viết n hàm 1. Khuôn hình hàm Ví dụ 2: xây dựng hàm tìm max của hai số bất kỳ Giải quyết: int max(int a, int b){ if(a>b) return a; elsse return b;} float max(float a, float b){ if(a>b) return a; elsse return b;} 1. Khuôn hình hàm Khái niệm Là mẫu của hàm có tham số là kiểu của đối số Với mỗi giá trị hợp lệ của đối số sẽ phát sinh một hàm cụ thể gọi là hàm thể hiện Khai báo: template ([ds tham số]) { //thân khuôn hình hàm } 1. Khuôn hình hàm Ví dụ1 : template T max(T a, T b){ if(a>b) return a ; else return b;} Ví dụ 2: xây dựng khuôn hình tính tổng 3 số bất kỳ template T1 tong(T1 x, T2 y, T3 z) { return x+y+z ; } 1. Khuôn hình hàm Gọi hàm từ khuôn hình hàm (đối số) Tên hàm trùng tên khuôn hình hàm Ví dụ: int a,b ; float x,y ; max(a,b) ; 1. Khuôn hình hàm Với khuôn hình hàm max: int a,b; max(a,b) Khi đó chương trình dịch sẽ xác định: Kiểu của a,b là int nên kiểu của T cũng sẽ là int Phát sinh một hàm cụ thể từ khuôn hình hàm max Hàm max lúc này sẽ như sau: int max(int a, int b) { if(a>b) return a ; else return b; } 2. Khuôn hình lớp Ví dụ: xây dựng lớp MT1 với: Nhận xét: Số phần tử Mảng các phần tử kiểu: int, char, float, long . Các phương thức: nhập, in, cộng, trừ Với mỗi kiểu dữ liệu của mảng sẽ có 1 lớp Các lớp này có chung các thao tác Chỉ kiểu dữ liệu của mảng là khác C++ cho phép xây dựng một mẫu của lớp, mẫu này có tham số để ứng với mỗi giá trị của tham số sẽ phát sinh một lớp 2. Khuôn hình lớp Khái niệm Khai báo: Là