Nạp chồng hàm trong C++
Trong C++, hai hàm có thể có cùng tên nếu số lượng và/hoặc loại đối số được truyền vào khác nhau Show Các hàm này có cùng tên nhưng các đối số khác nhau được gọi là các hàm quá tải. Ví dụ
Ở đây, cả 4 hàm đều là hàm quá tải Lưu ý rằng kiểu trả về của cả 4 hàm này không giống nhau. Các hàm quá tải có thể có hoặc không có các kiểu trả về khác nhau nhưng chúng phải có các đối số khác nhau. Ví dụ,
Ở đây, cả hai hàm đều có cùng tên, cùng loại và cùng số đối số. Do đó, trình biên dịch sẽ báo lỗi ví dụ 1. Quá tải bằng cách sử dụng các loại tham số khác nhau
đầu ra Absolute value of -5 = 5 Absolute value of 5.5 = 5.5Làm việc quá tải cho hàm absolute() Trong chương trình này, chúng tôi nạp chồng hàm 3. Dựa trên loại tham số được truyền trong khi gọi hàm, hàm tương ứng được gọiví dụ 2. Quá tải bằng cách sử dụng số lượng tham số khác nhau
đầu ra Integer number: 5 Float number: 5.5 Integer number: 5 and double number: 5.5 Ở đây, hàm 4 được gọi ba lần với các đối số khác nhau. Tùy thuộc vào số lượng và loại đối số được truyền, hàm 4 tương ứng được gọiLàm việc quá tải cho hàm display()Kiểu trả về của tất cả các hàm này là giống nhau nhưng đó không phải là trường hợp nạp chồng hàm Ghi chú. Trong C++, nhiều hàm thư viện chuẩn bị quá tải. Ví dụ: hàm 6 có thể nhận 0, 1, 2, v.v. như tham số. Điều này có thể xảy ra vì hàm 6 bị quá tải trong C++ Nạp chồng hàm (nạp chồng hàm) và nạp chồng toán tử (nạp chồng toán tử) trong C++ cho phép bạn xác định nhiều hơn một định nghĩa cho một tên hàm hoặc một toán tử trong cùng phạm vi (phạm vi), được gọi là tương ứng Một tuyên bố nạp chồng là một tuyên bố đã được khai báo với cùng tên như một tuyên bố đã được khai báo trước đó trong cùng một phạm vi, ngoại trừ điều đó. cả hai báo cáo đều có các tham số khác nhau và định nghĩa khác nhau Khi bạn gọi một hàm nạp hoặc một hàm nạp toán tử, thì trình biên dịch sẽ quyết định cách giải thích hợp nhất để sử dụng bằng cách so sánh các kiểu tham số bạn đã sử dụng để gọi hàm hoặc toán tử với các kiểu tham số đã có . Lựa chọn lựa chọn phương trình nạp chồng hoặc nạp toán tử thích hợp nhất này được gọi là giải quyết quá tải - phân giải nạp chồng Nạp chồng hàm trong C++Bạn có thể có nhiều định nghĩa cho cùng tên hàm trong cùng phạm vi. Định nghĩa của hàm phải khác nhau và về kiểu và/hoặc tham số trong danh sách tham số. Bạn không thể tải các hàm khai báo mà chỉ khác nhau ở kiểu trả về Trong ví dụ sau, cùng một hàm hamIn được sử dụng cho các kiểu dữ liệu khác nhau #include Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau Nạp tiền điện tử trong C++Bạn có thể định nghĩa lại hoặc tải hầu hết các toán tử có sẵn trong C++. Vì thế, một thành viên lập trình có thể sử dụng các thuật toán với kiểu định nghĩa tự nhiên (do người dùng định nghĩa) Nạp tiền điện tử trong C++ là các hàm có tên đặc biệt. Tên hàm là từ khóa toán tử theo sau là ký hiệu của toán tử đã được định nghĩa. Giống như bất kỳ hàm nào khác, một hệ thống nạp tiền có một kiểu trả về và một danh sách tham số 0Khai báo toán tử + để cộng hai đối tượng Box và trả về đối tượng Box cuối cùng. Hầu hết các toán tử tải xuống có thể được định nghĩa dưới dạng định dạng. các hàm không có thành viên (không phải thành viên) hoặc các hàm thành viên lớp. Trong trường hợp trên, chúng ta định nghĩa hàm ở dạng không phải thành viên của một lớp, sau đó chúng ta phải truyền hai tham số cho mỗi hạng toán, như sau 1Ví dụ sau minh họa khái niệm nạp chồng toán tử bằng cách sử dụng một hàm thành viên. Ở đây, một đối tượng được truyền tải là một tham số mà các thuộc tính của nó sẽ được truy cập bởi đối tượng sử dụng này, đối tượng sẽ gọi điện tử này có thể được truy cập bởi ứng dụng toán tử này, 2Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau The code could load and could not load in C++Bảng bên dưới liệt kê danh sách các thuật toán có thể được tải lên trong C++ +-*/%^&|~!,=<><=>=++--<<>>==!=&&||+=-=/=%=^=&=|=*=<<=>>=[]()->->*newnew []deletedelete []Còn đây là danh sách các thuật toán không thể tải chồng lên trong C++ *. ?Ví dụ về Nạp tiền điện tử trong C++Dưới đây là các ví dụ đa dạng minh họa Nạp tiền điện tử trong C++, từ đó giúp bạn hiểu sâu hơn về khái niệm này. You click to link to see example |