Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Warisan Pembina dalam C 11: Bagaimana Ia Berfungsi?

Warisan Pembina dalam C 11: Bagaimana Ia Berfungsi?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 01:49:03502semak imbas

Constructor Inheritance in C  11: How Does It Work?

Mewarisi Pembina dalam C 11

Dalam C 11, pewarisan pembina membenarkan kelas terbitan mewarisi pembina secara tersirat daripada kelas asasnya. Ini dicapai melalui kata kunci menggunakan, yang menyatakan bahawa kelas terbitan harus menggunakan pembina kelas asas.

Sintaks:

struct B {
  B(int); // Normal constructor 1
  B(string); // Normal constructor 2
};

struct D : B {
  using B::B; // Inherit constructors from B
};

Implikasi :

  • Kelas D terbitan kini mempunyai pembina yang diwarisi:

    • D::D(int);
    • D::D(rentetan);
  • Pembolehubah ahli D dimulakan secara lalai oleh yang diwarisi ini pembina.

Aplikasi:

Warisan pembina berguna dalam senario berikut:

  • Menyimpan usaha menaip: Ia menghapuskan keperluan untuk mentakrifkan pembina secara manual dalam terbitan kelas.
  • Memastikan pemulaan kelas asas: Ia menjamin bahawa kelas asas dimulakan dengan betul.

Penjelasan Mendalam:

Perpustakaan Standard mentakrifkan pembina warisan sebagai berikut:

D::D(int x) : B(x) {}
D::D(string s) : B(s) {}

Ini bermakna apabila satu contoh kelas terbitan D dibina, ia akan memanggil pembina yang sesuai bagi kelas asas B untuk memulakan ahli asasnya.

Atas ialah kandungan terperinci Warisan Pembina dalam C 11: Bagaimana Ia Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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