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;
}
它根本没有进入[]的重载函数。我将它与大量的例子进行比较,但我写的东西从来没有功能。为什么不在这里使用[]函数的重载函数?
我该如何进一步处理?
此外,使属性 '长度' 和 'ARRP' 私人 –