首頁  >  文章  >  後端開發  >  C++ 函式的重載用法解析

C++ 函式的重載用法解析

WBOY
WBOY原創
2024-04-18 18:21:01724瀏覽

函數重載允許使用相同名稱建立具有不同參數列表的函數,從而實現程式碼靈活性。規則包括:函數名稱相同,參數清單不同,可不同類型或數量。例如,計算面積的類別包含針對不同形狀的重載函數,可根據形狀類型呼叫對應函數計算面積。

C++ 函数的重载用法解析

C 函數的重載用法解析

什麼是函數重載?

函數重載允許使用相同的名字建立具有不同參數清單的多個函數。這使得程式碼更加靈活和可重複使用。

重載函數的語法

returnType functionName(parameterList1);
returnType functionName(parameterList2);
...
returnType functionName(parameterListN);

其中:

  • returnType 是函數的回傳類型。
  • functionName 是函數的名稱。
  • parameterList 是函數的參數清單。

重載函數的規則

  • 函數名稱相同。
  • 參數清單不同。
  • 參數清單中的參數類型或數量不同。

實戰案例

假設我們有一個計算面積的類,具有針對不同形狀的專門函數:

class Shape {
public:
  virtual double area() const = 0;
};

class Rectangle : public Shape {
public:
  Rectangle(double width, double height): width(width), height(height) {}
  double area() const override {
    return width * height;
  }
private:
  double width, height;
};

class Circle : public Shape {
public:
  Circle(double radius): radius(radius) {}
  double area() const override {
    return M_PI * radius * radius;
  }
private:
  double radius;
};

要計算一個形狀的面積,我們可以根據其型別呼叫對應的重載函數:

int main() {
  Shape* shapes[] = { new Rectangle(2.0, 3.0), new Circle(1.0) };
  for (int i = 0; i < 2; i++) {
    std::cout << "Area of shape " << i << ": " << shapes[i]->area() << std::endl;
  }
  return 0;
}

輸出:

Area of shape 0: 6
Area of shape 1: 3.14159

#注意:

    ##重載函數的順序不影響函數呼叫的結果。
  • 重載函數可以有不同的存取控制等級(例如 public、private)。
  • 重載函數可以有不同的預設參數值。

以上是C++ 函式的重載用法解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn