0
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <string.h>
class Array
{
public:
int Length;
char *Arrp;
Array(char *str)
{
Length=strlen(str);
Arrp=str;
}
char & operator[](int index);
};
char & Array::operator[](int index)
{
if(index>=Length||index<0)
{
cout<<"Index "<<index<<" error."<<endl;
return Arrp[0];
}
return Arrp[index];
}
int _tmain(int argc, _TCHAR* argv[])
{
Array a("Good");
cout<<a.Arrp[6]<<endl;
return 0;
}
Es kommt überhaupt nicht in die Überlastfunktion von []. Ich vergleiche es mit vielen Beispielen, aber was ich schreibe funktioniert nie.Warum funktioniert die Überlastfunktion von [] hier nicht?
Wie kann ich weiter verfahren?
Des Weiteren die 'Länge' Attribute machen und 'ARRP' private –