Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Analisis penggunaan berlebihan fungsi C++

Analisis penggunaan berlebihan fungsi C++

WBOY
WBOYasal
2024-04-18 18:21:01724semak imbas

Fungsi lebihan beban membolehkan mencipta fungsi dengan senarai parameter berbeza menggunakan nama yang sama, membolehkan kod fleksibiliti. Peraturan termasuk: nama fungsi adalah sama, senarai parameter berbeza, dan mungkin daripada jenis atau nombor yang berbeza. Sebagai contoh, kelas yang mengira kawasan mengandungi fungsi terlampau beban untuk bentuk yang berbeza, dan fungsi yang sepadan boleh dipanggil untuk mengira kawasan berdasarkan jenis bentuk.

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

Analisis penggunaan kelebihan beban fungsi C++

Apakah fungsi lebih muatan?

Pembebanan fungsi membolehkan penciptaan berbilang fungsi dengan senarai parameter berbeza menggunakan nama yang sama. Ini menjadikan kod lebih fleksibel dan boleh digunakan semula.

Sintaks fungsi terlampau beban

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

di mana:

  • returnType ialah jenis pemulangan fungsi. returnType 是函数的返回类型。
  • functionName 是函数的名称。
  • parameterList
  • functionName ialah nama fungsi.

parameterList ialah senarai parameter fungsi.

    Peraturan untuk lebihan fungsi
  • berfungsi dengan nama yang sama.
  • Senarai parameter adalah berbeza.

Jenis atau nombor parameter dalam senarai parameter adalah berbeza.

Kes praktikal

Katakan kita mempunyai kelas yang mengira luas, dengan fungsi khusus untuk bentuk yang berbeza:

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;
};

Untuk mengira luas sesuatu bentuk, kita boleh memanggil fungsi beban berlebihan yang sepadan mengikut jenisnya:

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;
}
Output:
Area of shape 0: 6
Area of shape 1: 3.14159

    Nota:
  • Susunan fungsi terlebih beban tidak menjejaskan hasil panggilan fungsi.
  • Fungsi lebihan boleh mempunyai tahap kawalan akses yang berbeza (cth. awam, peribadi).
🎜Fungsi lebihan boleh mempunyai nilai parameter lalai yang berbeza. 🎜🎜

Atas ialah kandungan terperinci Analisis penggunaan berlebihan fungsi C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn