Chương này tiếp tục cung cấp các kiên thức về hàm nâng cao. Các nội dung cụ thể được trình bày trong chương này gồm: Tham số, khuôn mẫu hàm, nạp chồng hàm, nạp chồng hàm. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin Trường Đại học Khoa học Tự nhiên KỸ THUẬT LẬP TRÌNH ThS Đặng Bình Phương dbphuong@fit.hcmus.edu.vn HÀM NÂNG CAO (PHẦN 2) && VC VC BB BB Nội dung Tham số … Khuôn mẫu hàm Nạp chồng hàm Nạp chồng toán tử Hàm nâng cao (phần 2) && VC VC BB BB Tham số … Khai báo (, …) { … } Ý nghĩa Hàm có số lượng tham số khơng biết trước thường kiểu (không char, unsigned char, float) Phải có tham số biết trước Tham số … đặt cuối Hàm nâng cao (phần 2) && VC VC BB BB Tham số … Ví dụ void XuatTong1(char *msg, int n, …) { // Các lệnh } void XuatTong2(char *msg, …) { // Các lệnh } int Tong(int a, …) { // Các lệnh } Hàm nâng cao (phần 2) && VC VC BB BB Truy xuất danh sách tham số … Sử dụng kiểu macro sau (stdarg.h) va_list : kiểu liệu chứa tham số có … va_start(va_list ap, lastfix) : macro thiết lập ap đến tham số … với lastfix tên tham số cố định cuối type va_arg(va_list ap, type) : macro trả tham số có kiểu type va_end(va_list ap) : macro giúp cho hàm trả giá trị cách “bình thường” Hàm nâng cao (phần 2) && VC VC BB BB Tham số … Ví dụ #include void XuatTong1(char *msg, int n, …) { va_list ap; va_start(ap, n); // ts cố định cuối int value, s = 0; for (int i=0; i