Analisis penggunaan berlebihan fungsi C++

WBOY
Lepaskan: 2024-04-18 18:21:01
asal
741 orang telah melayarinya

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);
Salin selepas log masuk

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;
};
Salin selepas log masuk

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;
}
Salin selepas log masuk
Output:
Area of shape 0: 6
Area of shape 1: 3.14159
Salin selepas log masuk
    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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!