Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

คอนสตรัคเตอร์การแปลงใน C ++?


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