ทุกคลาสมีตัวสร้างเริ่มต้น C ++ หรือไม่
ทุกคลาสมีตัวสร้างเริ่มต้น C ++ หรือไม่

วีดีโอ: ทุกคลาสมีตัวสร้างเริ่มต้น C ++ หรือไม่

วีดีโอ: ทุกคลาสมีตัวสร้างเริ่มต้น C ++ หรือไม่
วีดีโอ: วิธีสร้างตัวแปร กำหนดชนิดข้อมูล ด้วยภาษาซี C Programming (PATH 3) 2024, เมษายน
Anonim

ตัวสร้างเริ่มต้น ( C++ เท่านั้น)

NS ตัวสร้างเริ่มต้นคือ NS ตัวสร้าง ที่ทั้ง มี ไม่มีพารามิเตอร์หรือถ้ามัน มี พารามิเตอร์ ทั้งหมด พารามิเตอร์ มีค่าเริ่มต้น ค่า หากไม่มีการกำหนดโดยผู้ใช้ ตัวสร้าง มีอยู่สำหรับ a ระดับ เอ แอนด์ หนึ่ง เป็น จำเป็น คอมไพเลอร์ประกาศโดยปริยาย a ค่าเริ่มต้น ไม่มีพารามิเตอร์ ตัวสร้าง A::A().

คุณต้องการคอนสตรัคเตอร์ C ++ เริ่มต้นหรือไม่

คอมไพเลอร์จะประกาศโดยปริยาย ตัวสร้างเริ่มต้น ถ้าไม่ได้ให้โดยโปรแกรมเมอร์จะกำหนดเมื่อใน ความต้องการ . คอมไพเลอร์กำหนด ตัวสร้างเริ่มต้น เป็น ที่จำเป็น ถึง ทำ การเริ่มต้นบางอย่างของคลาส internals คอมไพเลอร์จำเป็นต้องใส่โค้ดเพื่อเรียก ตัวสร้างเริ่มต้น ของคลาสฐาน/อ็อบเจ็กต์ฝังตัว

รู้ด้วยว่าคลาสไม่มีคอนสตรัคเตอร์ C ++ ได้หรือไม่? ถ้าคุณ คลาสไม่มีตัวสร้าง , C++ จะ สร้างค่าเริ่มต้นสาธารณะโดยอัตโนมัติ ตัวสร้าง สำหรับคุณ. นี้บางครั้งเรียกว่าโดยปริยาย ตัวสร้าง (หรือสร้างขึ้นโดยปริยาย ตัวสร้าง ).

บางคนอาจถามว่าทุกคลาสมีคอนสตรัคเตอร์เริ่มต้นหรือไม่?

ใช่ทั้งหมด ชั้นเรียน ที่เราสร้างใน java ขึ้นมาด้วย ตัวสร้างเริ่มต้น โดยไม่มีพารามิเตอร์ แต่ทันทีที่เราสร้าง Parameterized ตัวสร้าง นั่น ตัวสร้างเริ่มต้นget ลบออก.

คุณจะเรียกตัวสร้างเริ่มต้นใน C ++ ได้อย่างไร

ตัวสร้าง มีชื่อเดียวกับตัวคลาสเอง ตัวสร้าง ไม่มีประเภทการส่งคืน NS ตัวสร้าง จะถูกเรียกโดยอัตโนมัติเมื่อมีการสร้างวัตถุ หากเราไม่ระบุ a ตัวสร้าง , C++ คอมไพเลอร์สร้างa ตัวสร้างเริ่มต้น สำหรับเรา (คาดว่าไม่มีพารามิเตอร์และมีเนื้อหาว่างเปล่า)