คำถามสัมภาษณ์ C++ เกี่ยวกับ Constructors
คอนสตรัคเตอร์คืออะไร
คอนสตรัคเตอร์ เป็นฟังก์ชันของคลาสที่มีชื่อเดียวกับคลาส ตัวสร้างถูกเรียกในขณะที่เริ่มต้นวัตถุ คอนสตรัคเตอร์มีสามประเภท -
- ตัวสร้างเริ่มต้น
- ตัวสร้างพารามิเตอร์
- คัดลอกตัวสร้าง
ไวยากรณ์
class cl_name{ cl_name(){ //This is constructor.. } }
ตัวทำลายคืออะไร
ผู้ทำลาย เป็นวิธีการของคลาสที่มีชื่อเหมือนกับคลาสที่นำหน้าด้วย tild ~ สัญลักษณ์. มันถูกเรียกเมื่อสิ้นสุดโค้ดหรือเมื่อวัตถุถูกทำลายหรืออยู่นอกขอบเขต
ไวยากรณ์
class cl_name{ ~ cl_name(){} //destructor }
คอนสตรัคเตอร์มีประโยชน์อย่างไร
นวกรรมิกคือเมธอดที่มีชื่อเดียวกับคลาส และการใช้ตัวสร้างคือการเริ่มต้นวัตถุเมื่อถูกสร้างขึ้นโดยใช้ ใหม่ คำสำคัญ
เมื่อมีการสร้างอ็อบเจ็กต์ ตัวแปรจะถูกเริ่มต้นชิ้นส่วนของหน่วยความจำและค่าฐาน หากมี
ตัวทำลายมีประโยชน์อย่างไร
destructor คือเมธอดที่มีชื่อเดียวกับคลาสที่นำหน้าสัญลักษณ์ ~ การใช้ตัวทำลายล้างคือการจัดสรรคืนส่วนของหน่วยความจำที่โค้ดออกจากขอบเขตของวัตถุหรือถูกลบโดยใช้ ลบคำหลัก .
เมื่อวัตถุถูกลบ destructor จะถูกเรียกและจัดสรรคืนบล็อกหน่วยความจำทั้งหมดที่สร้างขึ้นเมื่อวัตถุถูกสร้างขึ้น
ลำดับของการดำเนินการคอนสตรัคเตอร์ใน C++ คืออะไร
คอนสตรัคเตอร์ถูกเรียกเมื่อวัตถุของคลาสถูกสร้างขึ้น ลำดับที่คอนสตรัคเตอร์ถูกเรียกใช้จะเหมือนกับลำดับชั้นของการสืบทอด ซึ่งหมายความว่าในขั้นแรก อ็อบเจกต์ของคลาสฐานถูกเรียกใช้ จากนั้นอ็อบเจ็กต์ของคลาสย่อยจะถูกเรียกใช้เป็นต้น
ลำดับของการดำเนินการ destructor ใน C++ คืออะไร
Destructor ถูกเรียกใช้ในลำดับย้อนกลับในฐานะ Constructor และถูกเรียกใช้เมื่อวัตถุของคลาสถูกลบ ลำดับในการเรียกตัวทำลายล้างนั้นตรงกันข้ามกับลำดับชั้นของมรดก ซึ่งหมายความว่าก่อนอื่นวัตถุของคลาสย่อยจะถูกทำลาย จากนั้นวัตถุของคลาสหลักจะถูกทำลายเป็นต้น
คอนสตรัคเตอร์เริ่มต้นถูกสร้างขึ้นแม้ว่าเราจะสร้างคอนสตรัคเตอร์อื่นหรือไม่
ตัวสร้างถูกสร้างขึ้นโดยค่าเริ่มต้นโดยคอมไพเลอร์หากโปรแกรมเมอร์ไม่ได้กำหนดตัวสร้างใด ๆ อย่างชัดเจน หากโปรแกรมเมอร์กำหนดคอนสตรัคเตอร์ คอมไพเลอร์ก็จะเก็บงานของมันไว้และไม่ได้กำหนดไว้แต่อย่างใด