ในส่วนนี้เราจะดูว่าคอนสตรัคเตอร์การแปลงในคลาส 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