कहना चलो हम इस कोड है:बहुरूपी ऑपरेटर [] कार्यान्वयन
class test_t
{
void* data;
public:
template <typename T>
T operator [](int index)
{
return reinterpret_cast<T*>(data)[index];
}
};
int main()
{
test_t test;
int t = test.operator []<int>(5);
return 0;
}
वहाँ एक रास्ता मुहावरेदार सी compilable करने के लिए इसे परिवर्तित करने के लिए है ++?
यह
int main()
{
test_t test;
int t = test[5];
double f = test[7];
return 0;
}
यानी की तरह दिखना चाहिए एक बहुलक ऑपरेटर []।
यह बहुरूपता नहीं है। – SLaks
@ स्लक्स: बेशक यह एक प्रकार का बहुरूपता है। –