Định nghĩa chồng các hàm (overloading)

10 327 0
Định nghĩa chồng các hàm (overloading)

Đang tải... (xem toàn văn)

Thông tin tài liệu

Định nghĩa chồng hàm (overloading) Định nghĩa chồng hàm (overloading) Bởi: Phạm Văn Ất Khái niệm định nghĩa chồng Định nghĩa chồng (hay gọi tải bội) hàm dùng tên để định nghĩa hàm khác Đây mở rộng có ý nghĩa C++ Như biết, C ngôn ngữ khác (như PASCAL, FOXPRO, ) hàm phải có tên phân biệt Đôi hạn chế lớn, phải dùng nhiều hàm khác để thực công việc Ví dụ để lấy giá trị tuyệt đối C cần dùng tới hàm khác nhau: int abs(int i); // Lấy giá trị tuyệt đối giá trị kiểu int longt labs(longt l); // Lấy giá trị tuyệt đối giá trị kiểu long double fabs(double d); // Lấy giá trị tuyệt đối giá trị kiểu double Nhờ khả định nghĩa chồng, C++ dùng chung tên cho hàm sau: int abs(int i) ; // Lấy giá trị tuyệt đối giá trị kiểu int longt abs(longt l) ; // Lấy giá trị tuyệt đối giá trị kiểu long double abs(double d) ; // Lấy giá trị tuyệt đối giá trị kiểu double Yêu cầu hàm định nghĩa chồng Khi dùng tên để định nghĩa nhiều hàm, Trình biên dịch C++ dựa vào khác tập đối hàm để đổi tên hàm Như vậy, sau biên dịch hàm có tên khác 1/10 Định nghĩa chồng hàm (overloading) Từ cho thấy: hàm định nghĩa trùng tên phải có tập đối khác (về số lượng kiểu) Nếu hàm hoàn toàn trùng tên trùng đối Trình biên dịch cách phân biệt Ngay hàm có kiểu khác Trình biên dịch báo lỗi Ví dụ sau xây dựng hàm có tên f có đối nguyên a, kiểu hàm khác Hàm thứ kiểu nguyên (trả a*a), hàm thứ hai kiểu void (in giá trị a) Chương trình bị thông báo lỗi biên dịch (bạn thử xem sao) #include #include int f(int a); void f(int a); int f(int a) { return a*a; } void f(int a) { cout

Ngày đăng: 20/10/2016, 05:45

Từ khóa liên quan

Mục lục

  • Định nghĩa chồng các hàm (overloading)

  • Khái niệm về định nghĩa chồng

  • Yêu cầu về các hàm định nghĩa chồng

  • Sử dụng các hàm định nghĩa chồng

  • Nên sử dụng phép định nghĩa chồng các hàm như thế nào

  • Lấy địa chỉ các hàm trùng tên

  • Các ví dụ

Tài liệu cùng người dùng

Tài liệu liên quan