ตัวสร้างเป็นฟังก์ชันของคลาสที่ดำเนินการเมื่อมีการสร้างวัตถุใหม่ของคลาส ตัวสร้างมีชื่อเดียวกับคลาสและไม่มีประเภทส่งคืน แม้แต่เป็นโมฆะ มีประโยชน์หลักในการจัดเตรียมค่าเริ่มต้นสำหรับตัวแปรของคลาส คอนสตรัคเตอร์สองประเภทหลักคือคอนสตรัคเตอร์เริ่มต้นและคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์
ตัวสร้างเริ่มต้นไม่ใช้พารามิเตอร์ใด ๆ หากโปรแกรมเมอร์ไม่ได้จัดเตรียมคอนสตรัคเตอร์เริ่มต้นไว้อย่างชัดเจน คอมไพเลอร์จะจัดเตรียมคอนสตรัคเตอร์เริ่มต้นโดยปริยาย ในกรณีนั้น ค่าดีฟอลต์ของตัวแปรจะเป็น 0
โปรแกรมที่แสดงคอนสตรัคเตอร์เริ่มต้นมีดังต่อไปนี้
ตัวอย่าง
#include <iostream> using namespace std; class DemoDC { private: int num1, num2 ; public: DemoDC() { num1 = 10; num2 = 20; } void display() { cout<<"num1 = "<< num1 <<endl; cout<<"num2 = "<< num2 <<endl; } }; int main() { DemoDC obj; obj.display(); return 0; }
ผลลัพธ์
num1 = 10 num2 = 20
ในโปรแกรมข้างต้น คลาส DemoDC มีคอนสตรัคเตอร์เริ่มต้นที่เริ่มต้น num1 และ num2 เป็น 10 และ 20 นอกจากนี้ยังมีฟังก์ชัน display() ที่พิมพ์ค่า num1 และ num2 ข้อมูลโค้ดสำหรับสิ่งนี้มีดังต่อไปนี้
class DemoDC { private: int num1, num2 public: DemoDC() { num1 = 10; num2 = 20; } void display() { cout<<"num1 = "<< num1 <<endl; cout<<"num2 = "<< num2 <<endl; } };
ฟังก์ชัน main() มีข้อกำหนดของวัตถุสำหรับวัตถุประเภท DemoDC จากนั้นฟังก์ชัน display() จะถูกเรียก ดังแสดงด้านล่าง
DemoDC obj; obj.display();