ในส่วนนี้เราจะดูว่าคอนสตรัคเตอร์การแปลงในคลาส C++ คืออะไร Aconstructor เป็นฟังก์ชันพิเศษของคลาส มีคุณสมบัติเฉพาะบางอย่าง เช่น ชื่อจะเหมือนกับชื่อคลาส จะไม่คืนค่าใดๆ เป็นต้น ตัวสร้างใช้ในการสร้างวัตถุของคลาส บางครั้งตัวสร้างอาจใช้การโต้แย้งหรือบางครั้งก็ไม่มีข้อโต้แย้ง
เมื่อคอนสตรัคเตอร์รับอาร์กิวเมนต์เพียงอาร์กิวเมนต์เดียว คอนสตรัคเตอร์ประเภทนี้จะกลายเป็นคอนสตรัคเตอร์การแปลง ตัวสร้างประเภทนี้อนุญาตให้แปลงอัตโนมัติไปยังคลาสที่กำลังสร้าง
ตัวอย่าง
#include<iostream> using namespace std; class my_class{ private: int my_var; public: my_class(int x) { this->my_var = x; //set the value of my_var using parameterized constructor } void display() { cout << "The value of my_var is: " << my_var <<endl; } }; int main() { my_class my_obj(10); my_obj.display(); my_obj = 50; //here the conversion constructor is called my_obj.display(); }
ผลลัพธ์
The value of my_var is: 10 The value of my_var is: 50