Write a program to show a use case of explicit type conversion.
#include<iostream> using namespace std; class A { private: int num; public: A():num(0) { cout << "default constructor" << endl; } ~A() { cout << "destructor" << endl; } explicit A(int x):num(x) { cout << "parameterized constructor" << endl; } void print() { cout << "num = " << num << endl; } }; int main() { A ob1,ob2(37),ob3; A ob4; //A ob5 = 87;//invalid //ob3 = 85;//invalid ob1.print(); ob2.print(); ob3.print(); ob4.print(); return 0; }
Output
default constructor parameterized constructor default constructor default constructor num = 0 num = 37 num = 0 num = 0 destructor destructor destructor destructor