Computer >> Máy Tính >  >> Lập trình >> C ++

Sự khác biệt giữa tính năng ghi đè và ghi đè hàm trong C ++

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’.