91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++ class類成員函數如何重載

c++
小樊
82
2024-09-24 23:45:18
欄目: 編程語言

在 C++ 中,可以通過在類中聲明多個具有相同名稱但參數列表不同的成員函數來重載它們。這種機制被稱為函數重載(Function Overloading)。

以下是一個簡單的示例,演示如何在 C++ 類中重載成員函數:

#include <iostream>
using namespace std;

class MyClass {
public:
    // 重載成員函數,接受兩個 int 參數
    void foo(int a, int b) {
        cout << "foo(int, int): "<< a << ", "<< b << endl;
    }

    // 重載成員函數,接受一個 int 參數和一個 MyClass 引用參數
    void foo(int a, MyClass& obj) {
        cout << "foo(int, MyClass&): "<< a << ", " << obj.getValue() << endl;
    }

    // 重載成員函數,僅接受一個 MyClass 引用參數
    void foo(MyClass& obj) {
        cout << "foo(MyClass&): " << obj.getValue() << endl;
    }
};

class MyClass2 {
public:
    int getValue() {
        return 42;
    }
};

int main() {
    MyClass obj1;
    MyClass2 obj2;

    // 調用重載的成員函數
    obj1.foo(1, 2);          // 輸出:foo(int, int): 1, 2
    obj1.foo(1, obj2);       // 輸出:foo(int, MyClass&): 1, 42
    obj1.foo(obj2);          // 輸出:foo(MyClass&): 42

    return 0;
}

在這個示例中,我們定義了一個名為 MyClass 的類,并在其中重載了三個名為 foo 的成員函數。這些函數的參數列表不同,因此它們被視為不同的函數。在 main 函數中,我們創建了一個 MyClass 對象和一個 MyClass2 對象,并調用了這些重載的成員函數。

0
屏东市| 江油市| 三亚市| 大洼县| 凤山县| 玉门市| 泸水县| 比如县| 永平县| 宜都市| 伊春市| 苍南县| 北安市| 潍坊市| 澜沧| 荥阳市| 莆田市| 吐鲁番市| 常宁市| 内丘县| 遂溪县| 甘德县| 公主岭市| 宝丰县| 五大连池市| 禄丰县| 萨迦县| 富民县| 长武县| 台山市| 平潭县| 西青区| 西贡区| 潼南县| 扎鲁特旗| 巩留县| 应城市| 西藏| 苍溪县| 仙居县| 双流县|