Constructor Chaining dalam C
Constructor chaining, di mana seorang pembina memanggil pembina lain dari dalam badannya, adalah amalan biasa dalam C# untuk memulakan objek dengan parameter yang berbeza-beza. C mempunyai ciri serupa yang dipanggil mewakilkan pembina.
C 11 dan Seterusnya
Dalam C 11 dan versi yang lebih baru, mewakilkan pembina boleh digunakan untuk mencapai rantaian pembina. Sintaksnya ialah:
class Foo { public: Foo(char x, int y); Foo(int y) : Foo('a', y) {} };
Pembina Foo(int y) memanggil pembina Foo(char x, int y) dengan nilai lalai untuk x.
C 03 dan Versi Terdahulu
C 03 tidak menyokong pembina perwakilan. Walau bagaimanapun, terdapat dua kaedah simulasi:
class Foo { public: Foo(char x, int y = 0); // combines constructors (char) and (char, int) // ... };
class Foo { public: Foo(char x); Foo(char x, int y); // ... private: void init(char x, int y); }; Foo::Foo(char x) { init(x, x + 7); // ... } Foo::Foo(char x, int y) { init(x, y); // ... } void Foo::init(char x, int y) { // ... }
Atas ialah kandungan terperinci Bagaimanakah Rangkaian Pembina Berfungsi dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!