Trong chương trước chúng ta đã tìm hiểu về các tham số của hàm main, hàm có đối số mặc định, hàm trả về tham chiếu, hàm nội tuyến trong hàm nâng cao. Trong chương này chúng ta sẽ tiếp tục tìm hiểu một số nội dung khác trong hàm nâng cao như: Tham số, khuôn mẫu hàm, nạp chồng hàm, nạp chồng toán tử. Mời các bạn cùng tham khảo.
&& 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ử NMLT - 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ố 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 NMLT - 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 } NMLT - 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” NMLT - 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