Pembina dan Senarai Pemula Ahli
Mulakan ahli dengan kemas menggunakan senarai pemula ahli.
Pembina dan Senarai Pemula Ahli ialah pelajaran C++ Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran C++ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus C++ Academy merangkumi sejumlah 4 pelajaran.
Apakah Pembina
Pembina ialah kaedah khas yang berjalan apabila objek dicipta. Namanya sama dengan nama kelas dan ia tidak mempunyai jenis pemulangan.
class Point {
public:
Point() { // default constructor
x_ = 0;
y_ = 0;
}
private:
int x_, y_;
};Pembina Berparameter
Pembina boleh menerima parameter dan anda boleh mempunyai beberapa versi dengan lebihan beban.
class Point {
int x_, y_;
public:
Point() : x_(0), y_(0) {}
Point(int x, int y) : x_(x), y_(y) {}
};Senarai Pemula Ahli
Sintaks : member(value) sebelum badan ialah senarai pemula ahli. Ahli diinisialisasikan di sini — bukannya ditetapkan kemudian di dalam badan.
class Person {
std::string name_;
int age_;
public:
Person(std::string n, int a) : name_(std::move(n)), age_(a) {}
};Mengapa Menggunakan Senarai Pemula?
Ahli dibina tepat sekali dengan nilai yang betul. Tanpa senarai ini, ahli dibina dengan nilai lalai kemudian ditetapkan — membazir untuk jenis yang tidak remeh.
Urutan Inisialisasi
Ahli diinisialisasikan mengikut urutan pengisytiharannya dalam kelas — bukan mengikut urutan dalam senarai pemula. Samakan urutan tersebut untuk mengelakkan kekeliruan.
Pemula Lalai Dalam Kelas (C++11)
Anda boleh memberikan nilai lalai kepada ahli secara terus dalam badan kelas. Ini berguna apabila kebanyakan pembina berkongsi nilai lalai yang sama.
class Buffer {
size_t size_ = 0;
char* data_ = nullptr;
public:
Buffer() = default;
Buffer(size_t n) : size_(n), data_(new char[n]) {}
};= default dan = delete
Minta pengkompil menyediakan atau membuang ahli khas:
class Widget {
public:
Widget() = default; // compiler-generated default
Widget(const Widget&) = delete; // disable copy
};Pembina Perwakilan (C++11)
Sesuatu pembina boleh memanggil pembina lain daripada kelas yang sama untuk berkongsi logik inisialisasi.
class Box {
int w_, h_, d_;
public:
Box(int w, int h, int d) : w_(w), h_(h), d_(d) {}
Box() : Box(1, 1, 1) {} // delegates to the 3-arg ctor
};Pembina Eksplisit
Pembina dengan satu hujah boleh digunakan dalam penukaran tersirat. Tandakan pembina itu dengan explicit untuk mengelakkan penukaran yang tidak dijangka.
class Vector {
public:
explicit Vector(size_t n);
};
Vector v = 10; // ERROR: explicit prevents this
Vector v(10); // OKPemusnah
Pemusnah ~ClassName() berjalan apabila objek dimusnahkan. Gunakannya untuk melepaskan sumber seperti fail, soket dan memori mentah.
Peraturan Lima (Pratonton)
Jika anda menulis mana-mana fungsi ahli khas — pemusnah, pembina salinan, penetapan salinan, pembina pemindahan atau penetapan pemindahan — fikirkan kesemua lima fungsi. Perkara ini dibincangkan dalam kursus semantik pemindahan.
Semakan Ringkas
Apakah yang menentukan urutan ahli kelas diinisialisasikan?
Rumusan
Gunakan pembina untuk menetapkan keadaan objek. Utamakan senarai pemula ahli berbanding penetapan dalam badan. Tandakan pembina dengan satu hujah sebagai explicit, dan gunakan = default / = delete untuk menyatakan niat.
Pelajari C++ dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Soalan Lazim
Adakah pelajaran “Pembina dan Senarai Pemula Ahli” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran C++ Academy, termasuk “Pembina dan Senarai Pemula Ahli”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus C++ Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pembina dan Senarai Pemula Ahli”?
Mulakan ahli dengan kemas menggunakan senarai pemula ahli. Anda berlatih C++ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan C++ Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran C++ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Pembina dan Senarai Pemula Ahli” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- struct berbanding class: Bila Menggunakan Setiap Satu
- Pemboleh Ubah Ahli dan Kaedah
- Pembina dan Senarai Pemula Ahli
- Penuding this dan Pengkapsulan