Jawapan: Lebihan fungsi dan fungsi fungsi maya dalam C++ membenarkan pembangun mencipta fungsi dengan nama yang sama tetapi senarai atau gelagat parameter yang berbeza. Penerangan terperinci: Lebihan fungsi: Cipta fungsi dengan nama yang sama tetapi senarai parameter yang berbeza untuk menggunakan fungsi dengan fungsi yang serupa dalam situasi yang berbeza. Fungsi maya fungsi: Fungsi yang mengatasi kelas asas dalam kelas terbitan, digunakan untuk polimorfisme, membenarkan kelas terbitan menyediakan pelaksanaan yang berbeza daripada kelas asas.
Function Overloading dan Function Functions Maya dalam C++
Function Overloading
Function Overloading membolehkan anda mencipta berbilang fungsi dengan nama yang sama tetapi dengan senarai parameter yang berbeza. Ini berguna jika anda perlu menggunakan fungsi dengan fungsi yang serupa dalam situasi yang berbeza.
Sintaks:
ret_type function_name(parameter_list_1); ret_type function_name(parameter_list_2); ...
Contoh:
void printInfo(int x) { cout << "int: " << x << endl; } void printInfo(double x) { cout << "double: " << x << endl; } int main() { int a = 10; double b = 3.14; printInfo(a); // calls printInfo(int) printInfo(b); // calls printInfo(double) return 0; }
Fungsi fungsi maya
Fungsi fungsi maya membolehkan anda mengatasi fungsi kelas asas dalam turunan Ini berguna untuk polimorfisme dan pengaturcaraan berorientasikan objek kerana ia membolehkan anda menyediakan kelas terbitan dengan pelaksanaan yang berbeza daripada kelas asas.
Sintaks:
Gunakan kata kunci virtual
。
virtual ret_type function_name(parameter_list) const = 0;
在派生类中重写函数时使用关键字 override
。
override ret_type function_name(parameter_list) const { /* implementation */ }
示例:
class Shape { public: virtual double area() const = 0; // pure virtual function }; class Circle : public Shape { public: double radius; Circle(double radius) : radius(radius) {} override double area() const { return 3.14 * radius * radius; } }; class Square : public Shape { public: double side; Square(double side) : side(side) {} override double area() const { return side * side; } }; int main() { Shape* s1 = new Circle(5); Shape* s2 = new Square(10); cout << "Area of circle: " << s1->area() << endl; cout << "Area of square: " << s2->area() << endl; return 0; }
注意事项:
virtual
的函数。virtual
和 = 0
virtual ret_type function_name(parameter_list) const = 0;
override
apabila mengatasi fungsi dalam kelas terbitan. . senarai. Anda tidak boleh menukar jenis pulangan sahaja. 🎜= 0
dalam kelas asas) mesti ditindih dalam kelas terbitan, jika tidak, kelas terbitan akan menjadi kelas abstrak . 🎜🎜Atas ialah kandungan terperinci Lebihan fungsi C++ dan fungsi fungsi maya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!