Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Function Overloading และ Return Type ใน C++

บทนำ

คุณสามารถมีการนิยามหลายอย่างสำหรับชื่อฟังก์ชันเดียวกันในขอบเขตเดียวกันได้ การนิยามต้องแตกต่างกันโดยชนิดและ/หรือจำนวนอาร์กิวเมนต์ในรายการอาร์กิวเมนต์ คุณไม่สามารถ overload ฟังก์ชันที่แตกต่างกันแค่ return type ได้

Function overloading คือ compile-time polymorphism มันตรวจสอบ function signature ถ้า signature ไม่เหมือนกัน สามารถ overload ได้ Return type ไม่สร้างผลต่อ function overloading signature เหมือนกันแต่ return type ต่างกัน จะไม่ถูก overload

ตัวอย่างโค้ด

#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);
    pd.print(500.263);
    pd.print("Hello C++");
    return 0;
}

ผลลัพธ์

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