पर किस प्रकार का कास्ट होता है (B::get()
में)?कास्ट व्युत्पन्न वर्ग को
class A {
public:
A() : a(0) {}
int a;
};
class B : public A {
public:
A* get() {
return this; //is this C-style cast?
}
};
int main()
{
B b;
cout << b.get()->a << "\n";
system("pause");
return 0;
}
मैंने इस तरह के कोड को एक प्रसिद्ध एपीआई में देखा है। static_cast<A*>(this);
करने के लिए यह बेहतर अभ्यास है?
कोई कास्टिंग नहीं है, केवल एक निहित रूपांतरण है। एक कलाकार एक स्पष्ट रूपांतरण है। – molbdnilo