Template function ( hàm khuôn mẫu )
Hàm khuôn mẫu là một loại hàm đặc biệt trong C++, có thể hoạt động với kiểu dữ liệu bất kỳ. Điều này cho phép chúng ta viết 1 hàm mà có thể sử dụng chung cho các kiểu dữ liệu khác nhau.
Ví dụ: Viết hàm in ra màn hình các phần tử của mảng các số nguyên và mảng các ký tự. Như vậy, nếu không có hàm khuôn mẫu thì chúng ta phải khai báo hai hàm. Mỗi hàm sẽ có tham số khác nhau:
Code:
void InMangSoNguyen(int array[], int len) {
for( int i = 0; i< len; i++) {
cout << array[i] << " ";
}
}
//----------------------------------------------------------------------------------
void InMangKyTu(char array[], int len) {
for( int i = 0; i< len; i++) {
cout << array[i] << " ";
}
}
Code:
template<class T>
void InMang(T array[], int len)
{
for (int i =0; i<len; i++) {
cout<<array[i]<<" ";
}
}
Code:
int main()
{
int mangso[10] = {1,2,3,4,5,6,7,8,9,10};
char mangkytu[10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
InMang(mangso, 10);
cout<<endl;
InMang(mangkytu, 10);
return 0;
}
....Sưu tầm...
0 Response to "Template function ( hàm khuôn mẫu )"
Đăng nhận xét