Penulisan semula fungsi dan pengaturcaraan templat ialah teknik yang berkuasa dalam C++ untuk mencapai sambungan dan generalisasi kod. Penggantian fungsi membolehkan sambungan dengan mengatasi kaedah kelas asas dalam kelas terbitan pengaturcaraan templat membolehkan generalisasi dengan mencipta kod generik yang boleh digunakan dalam pelbagai jenis. Contoh praktikal menunjukkan penggunaan penulisan semula fungsi dan pengaturcaraan templat untuk mengira luas sesuatu bentuk, menunjukkan kegunaan kedua-dua teknik dalam memanjangkan dan menyamaratakan kod.
Penulisan semula fungsi dan pengaturcaraan templat ialah teknik berkuasa dalam pengaturcaraan C++ yang membolehkan pembangun mencipta kod berskala dan serba boleh.
Function Overriding
Fungsi overriding membolehkan sambungan kod dengan membenarkan pelaksanaan alternatif kaedah kelas asas disediakan dalam kelas terbitan. Sintaksnya adalah seperti berikut:
class Derived : public Base { public: // 重写基类方法 override double calculate() { // 自定义实现 ... } };
Template Programming
Template programming membolehkan penciptaan kod generik yang boleh digunakan untuk pelbagai jenis. Sintaksnya adalah seperti berikut:
templateclass MyClass { T data; ... };
Contoh praktikal
Pertimbangkan program untuk mengira kawasan pelbagai bentuk:
// 使用基类和函数重写 class Shape { public: virtual double calculateArea() = 0; }; class Square : public Shape { // 使用函数重写扩展基类 public: double side; Square(double side) : side(side) {} double calculateArea() override { return side * side; } }; class Circle : public Shape { // 再次使用函数重写扩展基类 public: double radius; Circle(double radius) : radius(radius) {} double calculateArea() override { return 3.14 * radius * radius; } }; int main() { Square s(5); Circle c(10); cout << "Square area: " << s.calculateArea() << endl; cout << "Circle area: " << c.calculateArea() << endl; }
// 使用模板编程 templateclass Shape { T side; public: Shape(T side) : side(side) {} T calculateArea() { return side * side; } // 通用实现 }; // 使用模板实例化创建特定形状 class Square : public Shape {}; class Circle : public Shape {}; int main() { Square s(5); Circle c(10); cout << "Square area: " << s.calculateArea() << endl; cout << "Circle area: " << c.calculateArea() << endl; }
Atas ialah kandungan terperinci Penulisan Semula Fungsi dan Pengaturcaraan Templat: Mendedahkan Penggunaan Ajaib Pengembangan Kod dan Generalisasi Kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!