什么是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