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

Nạp chồng hàm và kiểu trả về trong C ++

Bạn có thể có nhiều định nghĩa cho cùng một tên hàm trong cùng một phạm vi. Định nghĩa của hàm phải khác nhau theo kiểu và / hoặc số lượng đối số trong danh sách đối số. Bạn không thể nạp chồng các khai báo hàm chỉ khác nhau theo kiểu trả về.

Quá tải hàm về cơ bản là đa hình thời gian biên dịch. Nó kiểm tra chữ ký chức năng. Nếu các chữ ký không giống nhau, thì chúng có thể bị quá tải. Kiểu trả về của một hàm không tạo ra bất kỳ ảnh hưởng nào đến việc nạp chồng hàm. Chữ ký hàm giống nhau với kiểu trả về khác nhau sẽ không bị quá tải.

Sau đây là ví dụ trong đó cùng một hàm print () đang được sử dụng để in các kiểu dữ liệu khác nhau

Mã mẫu

#include <iostream>
using namespace std;
class printData {
   public:
      void print(int i) {
         cout << "Printing int: " << i << endl;
      }
      void print(double f) {
         cout << "Printing float: " << f << endl;
      }
      void print(char* c) {
         cout << "Printing character: " << c << endl;
      }
};
int main(void) {
   printData pd;
   pd.print(5); // Call print to print integer
   pd.print(500.263); // Call print to print float
   pd.print("Hello C++"); // Call print to print character
   return 0;
}

Đầu ra

Printing int: 5
Printing float: 500.263
Printing character: Hello C++