Video: Ngôn Ngữ C - 32 - Cấu trúc của một hàm và lệnh return 2025
Với tư cách là một stenzdler rào, C + + hỗ trợ cả sớm và cuối ràng buộc. Bất kỳ ngôn ngữ lập trình nào cũng có thể hỗ trợ việc kết hợp sớm hoặc muộn dựa trên sự kỳ diệu của các nhà phát triển. Các ngôn ngữ cũ như C có xu hướng hỗ trợ sớm ràng buộc một mình. Các ngôn ngữ gần đây như Java và C # chỉ hỗ trợ ràng buộc cuối.
Bạn có thể ngạc nhiên rằng mặc định cho C + + là sớm ràng buộc. Đầu ra của chương trình OverloadOverride theo cách xuất hiện như sau:
Chúng tôi đang sinh viên:: calcTuition Chúng tôi đang sinh viên:: calcTuition Nhấn Enter để tiếp tục …
Lý do đơn giản, nếu một ngày ít. Thứ nhất, C ++ phải hành động giống như C càng tốt theo mặc định để giữ được sự tương thích ngược với người tiền nhiệm của nó. Thứ hai, đa hình cho biết thêm một lượng nhỏ các chi phí đầu vào cho mỗi cuộc gọi chức năng cả về lưu trữ dữ liệu và mã số cần thiết để thực hiện cuộc gọi.
Những người thành lập C ++ lo ngại rằng bất kỳ chi phí bổ sung sẽ được sử dụng như là một lý do không áp dụng C + + như là ngôn ngữ của hệ thống được lựa chọn, do đó, họ đã thực hiện hiệu quả hơn đầu ràng buộc mặc định.
ảo
cho biết C ++ rằng calcTuition () là một hàm thành phần đa hình. Nghĩa là, khai báo calcTuition () ảo có nghĩa là các cuộc gọi đến nó sẽ bị trễ nếu có bất kỳ nghi ngờ gì đối với loại run-time của đối tượng được gọi là calcTuition ().
Chúng tôi đang sinh viên:: calcTuition Chúng tôi đang ở trong GraduateStudent:: calcTuition Press Enter để tiếp tục … Nếu bạn cảm thấy thoải mái với trình gỡ lỗi đi kèm với môi trường C ++ của bạn, bạn thực sự nên bước đơn qua ví dụ này. Thật tuyệt khi thấy chương trình đơn bước vào Sinh viên:: calcTuition () lần đầu tiên mà fn () được gọi nhưng vào GraduateStudent:: calcTuition () vào cuộc gọi thứ hai. Bạn không thể thực sự đánh giá sự đa hình cho đến khi bạn đã thử nó.
Bạn cần khai báo hàm ảo chỉ trong lớp cơ sở. "Ảo" được thực hiện xuống lớp con một cách tự động. Đôi khi, tuy nhiên, các lập trình viên tuân theo các tiêu chuẩn mã hóa của khai báo các chức năng ảo ở khắp mọi nơi (hầu như).