इस लेख में, हम देखेंगे कि C++ में कनवर्ज़न ऑपरेटर क्या है। सी ++ ऑब्जेक्ट-ओरिएंटेड डिज़ाइन का समर्थन करता है। इसलिए हम कुछ वास्तविक दुनिया की वस्तुओं को ठोस प्रकार के रूप में बना सकते हैं।
कभी-कभी हमें कुछ ठोस प्रकार की वस्तुओं को किसी अन्य प्रकार की वस्तुओं या कुछ आदिम डेटाटाइप में बदलने की आवश्यकता होती है। इस रूपांतरण को करने के लिए हम रूपांतरण ऑपरेटर का उपयोग कर सकते हैं। यह क्लास में ऑपरेटर ओवरलोडिंग फंक्शन की तरह बनाया गया है।
इस उदाहरण में, हम सम्मिश्र संख्याओं के लिए एक वर्ग ले रहे हैं। इसके दो तर्क वास्तविक और काल्पनिक हैं। जब हम इस वर्ग की वस्तु को कुछ दोहरे प्रकार के डेटा में निर्दिष्ट करते हैं, तो यह रूपांतरण ऑपरेटर का उपयोग करके इसके परिमाण में परिवर्तित हो जाएगा।
उदाहरण कोड:
#include <iostream>
#include <cmath>
using namespace std;
class My_Complex {
private:
double real, imag;
public:
My_Complex(double re = 0.0, double img = 0.0) : real(re), imag(img) //default constructor {}
double mag() { //normal function to get magnitude
return getMagnitude();
}
operator double () { //Conversion operator to gen magnitude
return getMagnitude();
}
private:
double getMagnitude() { //Find magnitude of complex object
return sqrt(real * real + imag * imag);
}
};
int main() {
My_Complex complex(10.0, 6.0);
cout << "Magnitude using normal function: " << complex.mag() << endl;
cout << "Magnitude using conversion operator: " << complex << endl;
} आउटपुट
Magnitude using normal function: 11.6619 Magnitude using conversion operator: 11.6619