ตัวสร้างเป็นฟังก์ชันของคลาสที่ดำเนินการเมื่อมีการสร้างวัตถุใหม่ของคลาส ตัวสร้างมีชื่อเดียวกับคลาสและไม่มีประเภทส่งคืน แม้แต่เป็นโมฆะ มีประโยชน์หลักในการจัดเตรียมค่าเริ่มต้นสำหรับตัวแปรของคลาส คอนสตรัคเตอร์สองประเภทหลักคือคอนสตรัคเตอร์เริ่มต้นและคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์
ตัวสร้างเริ่มต้นไม่ใช้พารามิเตอร์ใด ๆ หากโปรแกรมเมอร์ไม่ได้จัดเตรียมคอนสตรัคเตอร์เริ่มต้นไว้อย่างชัดเจน คอมไพเลอร์จะจัดเตรียมคอนสตรัคเตอร์เริ่มต้นโดยปริยาย ในกรณีนั้น ค่าดีฟอลต์ของตัวแปรจะเป็น 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();