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

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


ในส่วนนี้เราจะดูว่าคอนสตรัคเตอร์การแปลงหรือคอนสตรัคเตอร์การแปลงในคลาส C ++ คืออะไร ตัวสร้างเป็นฟังก์ชันพิเศษของคลาส มีคุณสมบัติเฉพาะบางอย่าง เช่น ชื่อจะเหมือนกับชื่อคลาส จะไม่คืนค่าใดๆ เป็นต้น ตัวสร้างใช้เพื่อสร้างวัตถุของคลาส บางครั้งตัวสร้างอาจใช้อาร์กิวเมนต์บางอย่าง หรือบางครั้งก็ไม่มีอาร์กิวเมนต์

เมื่อคอนสตรัคเตอร์รับอาร์กิวเมนต์เพียงอาร์กิวเมนต์เดียว คอนสตรัคเตอร์ประเภทนี้จะกลายเป็นคอนสตรัคเตอร์การแปลง ตัวสร้างประเภทนี้อนุญาตให้แปลงอัตโนมัติเป็นคลาสที่กำลังสร้าง

ตัวอย่าง

#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