für mich es ist immer noch ein länge weg bis ich überladene operatoren wie unten im code richtig verstehen zu können , eine meine versuche ist diese ich hab versucht char operator[] (int offset) const; zum laufen zu bringen , es funktioniert einfach nicht , was fehlt noch ?????? was muss ich hinfügen / anderen damit dieser operator funktioniert?
C++:
#include<iostream> #include<string> usingnamespace std; class fg {
public: fg() {
char *z2; z1=newchar[1]; z2=newchar[1]; int offset=1; z1[offset]=z2[offset]; cout<<offset<<endl; }
~fg(){} charoperator[](int offset) const;
private:
char *z1; };
int main()
{ fg abc; return0; }
char fg::operator[] (int offset) const {
cout<<"\nssssssssssssssss"; return z1[offset]; }
-- Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)
und wie kann man diese operator aufrufen , ich dachte
C++:
z1[offset]=z2[offset];
soll der operator aufrufen , aber tut er nicht. -- Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)Dieser Post wurde am 24.03.2006 um 12:48 Uhr von ref editiert.
z1 und z2 sind chars, nicht Instanzen deiner Klasse fg, und haben somit auch nicht deren operator[]. -- Gruß predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.