मैं double
और std::string
दोनों के लिए रूपांतरण ऑपरेटरों के साथ एक Rectangle
वर्ग है:अस्पष्ट उपयोग()
class Rectangle
{
public:
Rectangle(double x, double y) : _x(x), _y(y) {}
operator std::string();
operator double();
private:
double _x, _y;
double getArea() {return _x * _y;}
};
int main()
{
Rectangle r(3, 2.5);
cout << r << endl;
return 0;
}
मुझे समझ नहीं आता क्यों operator double()
, शुरू हो जाती है बल्कि operator std::string()
से। जहां तक मुझे पता है, C++ wikibook के अनुसार, operator double
Rectangle
ऑब्जेक्ट्स को double
में परिवर्तित करने के लिए उपयोग किया जाता है।
तो यहां क्या हो रहा है? क्या यह इस तथ्य से संबंधित है कि int
कन्स्ट्रक्टर को पास किया गया है? यदि हां, तो क्यों?
आयताकार को दो बार बदलने के लिए इसका क्या अर्थ है। –
मुझे लगता है (डबल) आर या somethig –
@AlexGoft नहीं, अन्य एलेक्स का मतलब है "इसका मतलब क्या है * तार्किक *?"। इसके चेहरे पर, ऑपरेशन अर्थहीन लगता है। –