日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:52003
  • 待審:43
  • 小程序:12
  • 文章:1047590
  • 會員:762

函數重載允許在同一作用域內定義同名函數,但要求參數列表不同;而函數重寫允許在派生類中定義與基類同名、同參數列表的函數,要求帶有 override 關鍵字,返回類型和參數列表與基類函數完全相同。重載示例:print(int),print(double);重寫示例:derived 類中的 foo() 重寫了 base 類中的 foo()。

C++ 語言標準對函數重載和重寫的規范

函數重載

重載允許在同一個作用域內使用相同名稱定義多個函數,但其參數列表必須不同。C++ 語言標準要求函數重載遵循以下規范:

返回類型必須相同。
參數列表必須不同,即參數的數量、類型或順序。
const、volatile 和引用限定符可以被用來區分重載的函數。

示例:

void print(int x);
void print(double x);

登錄后復制

函數重寫

重寫允許在派生類中定義一個與基類中同名同參數列表的函數。C++ 語言標準要求函數重寫遵循以下規范:

重寫函數必須帶有 override 關鍵字。返回類型必須與基類函數相同。參數列表必須與基類函數完全相同(包括類型、順序和限定符)。派生類函數不得比基類函數的訪問權限更低(即 protected 只能重寫 protected 或 public 函數)。

示例:

class Base {
public:
    virtual void foo();
};

class Derived : public Base {
public:
    override void foo() override;  // 重寫基類中的 foo
};

登錄后復制

實戰案例

函數重載:

#include <iostream>

using namespace std;

void print(int x) {
    cout << "int: " << x << endl;
}

void print(double x) {
    cout << "double: " << x << endl;
}

int main() {
    print(10);  // 調用 int 版本的 print
    print(3.14); // 調用 double 版本的 print
    return 0;
}

登錄后復制

函數重寫:

#include <iostream>

using namespace std;

class Shape {
public:
    virtual void draw() = 0;  // 純虛函數
};

class Rectangle : public Shape {
public:
    void draw() override {
        cout << "Drawing a rectangle" << endl;
    }
};

int main() {
    Rectangle r;
    r.draw(); // 調用 Rectangle 類中的重寫函數
    return 0;
}

登錄后復制

分享到:
標簽:C++ 作用域 函數重寫 函數重載
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 52003

    網站

  • 12

    小程序

  • 1047590

    文章

  • 762

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定