Rumah > pembangunan bahagian belakang > C++ > Apakah perbezaan antara kelebihan beban fungsi C++ dan menulis semula?

Apakah perbezaan antara kelebihan beban fungsi C++ dan menulis semula?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2024-04-13 18:06:01
asal
944 orang telah melayarinya

Fungsi C++ terlebih muatan dan menulis semula: Terlebih muatan: Fungsi dengan nama yang sama mempunyai jenis atau nombor parameter yang berbeza, dan versi yang sesuai dipilih semasa penyusunan. Penulisan semula: Fungsi dalam kelas terbitan dengan nama yang sama dengan kelas asas mengatasi pelaksanaan kelas asas dan menyediakan pelaksanaan khusus untuk kelas terbitan. Ciri-ciri lebihan: jenis atau nombor parameter yang berbeza, terikat pada masa penyusunan. Ciri mengatasi: Jenis dan nombor parameter yang sama, pengikatan masa jalan, pewarisan diperlukan.

C++ 函数重载与重写有何区别?

C++ Fungsi Terlalu Beban dan Menulis Semula: Konsep dan Perbezaan

Melebihi muatan

  • Definisi: atau nama fungsi yang sama
  • Semantik: Pengkompil memilih versi fungsi yang sesuai berdasarkan jenis hujah atau nombor pada masa panggilan.
  • Syntax:
int sum(int a, int b);
double sum(double a, double b);
Salin selepas log masuk

Override

  • Definisi: Suatu fungsi dalam kelas terbitan dengan nama dan tandatangan yang sama dengan kelas asas.
  • Semantik: Fungsi ganti dalam kelas terbitan akan mengatasi fungsi dengan nama yang sama dalam kelas asas, sekali gus menyediakan pelaksanaan khusus bagi kelas terbitan.
  • Sintaks:
class Base {
public:
    virtual int add(int a, int b);
};

class Derived : public Base {
public:
    int add(int a, int b) override;
};
Salin selepas log masuk

Perbezaan

Tahap Tulis Semula WarisanParameterMengikatSama Dalam kelasDalam kelas asas dan kelas terbitan
Ciri-ciriSarat bebanTulis Semula
Awam atau Swasta Awam atau dilindungi
Tidak diperlukanDiperlukan
Jenis atau nombor parameter yang berbezaJenis dan nombor parameter yang sama
Masa penyusunanRum

Kes praktikal

Beban berlebihan: Kira jumlah pelbagai jenis nombor

#include <iostream>

using namespace std;

int sum(int a, int b) {
    return a + b;
}

double sum(double a, double b) {
    return a + b;
}

int main() {
    cout << "整数之和:" << sum(1, 2) << endl;
    cout << "浮点数之和:" << sum(1.5, 2.5) << endl;
    return 0;
}
Salin selepas log masuk

Tulis semula: Guna polimorfisme luas bentuk semula

Atas ialah kandungan terperinci Apakah perbezaan antara kelebihan beban fungsi C++ dan menulis semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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