Trong bài đăng này, chúng ta sẽ hiểu sự khác biệt giữa ghi đè hàm và ghi đè hàm trong C ++.
Quá tải
-
Không có từ khóa nào được sử dụng trong quá trình quá tải.
-
Nguyên mẫu chỉ khác nhau dựa trên số lượng hoặc loại tham số.
-
Nó xảy ra trong thời gian biên dịch.
-
Các trình xây dựng có thể bị quá tải.
-
Không được quá tải trình hủy.
-
Nó có thể được sử dụng để đạt được sự ràng buộc sớm.
-
Phiên bản của hàm đang được gọi được xác định bởi số lượng hoặc kiểu tham số được sử dụng.
-
Các chức năng sẽ được định nghĩa lại với cùng một tên, số khác hoặc loại tham số.
Ghi đè
-
Nguyên mẫu vẫn giống nhau trong suốt.
-
Nó xảy ra trong thời gian chạy.
-
Không thể ghi đè các chức năng ảo.
-
Trình hủy có thể bị ghi đè.
-
Ghi đè còn được gọi là ràng buộc muộn.
-
Hàm sẽ bị ghi đè được đặt trước từ khóa "virtual" trong lớp cơ sở.
-
Địa chỉ của đối tượng của lớp được gán cho con trỏ có chức năng được gọi bởi con trỏ.
-
Khi hàm được định nghĩa, nó được đặt trước từ khóa "virtual" trong lớp chính.
-
Chức năng tương tự được định nghĩa lại trong lớp dẫn xuất bằng cách sử dụng từ khóa ‘out’.