Const Methode
-
Hallo,
Für was brauch ich bei dieser klasse auch noch eine const Methode die wird ja eh nie aufgerufen?
class Klasse { int* m_Pointer; public: Klasse() { m_Pointer = new int[10]; for(int i=0; i<10;i++) m_Pointer[i] = i; } const int& operator[](int i) const; int& operator[](int i); }; const int& Klasse::operator[](int i) const { cout << "in const []" << endl; return m_Pointer[i]; } int& Klasse::operator [](int i) { cout << "in [] normal" << endl; return m_Pointer[i]; }
-
sie würde nur aufgerufen werden wenn du operator[] aus einer const Methode aufrufst. oder über const_cast wahrscheinlich auch
-
Wieso sollte die nie aufgerufen werden, wenn das Objekt const ist, wird auch die const-Methode aufgerufen, und bei dieser kann dem Member nichts zugewiesen werden.