|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<iostream>
#include<string.h>
using namespace std;
class cls
{
int ar[6];
public:
int& operator[] (int i); //重载"[]"操作符,"[]"内的操作数的操作数是int类型
int& operator[] (const char* str); //重载"[]"操作符,"[]"内的操作数是字符串类型
int print(int i){
return ar[i];
}
};
int& cls::operator[] (const char* str)
{
//1st 2nd 3rd 4th 5th
if (!strcmp("1st", str))
//printf("%d %d",1,ar[0]);
return ar[0];
if (!strcmp("2nd", str))
return ar[1];
if (!strcmp("3rd", str))
return ar[2];
if (!strcmp("4th", str))
return ar[3];
if (!strcmp("5th", str))
return ar[4];
if (!strcmp("6th", str))
return ar[5];
}
int main(void){
cls c;
int i=0;
for(i=0;i<6;i++){
printf("%d %d\n",i,c.print(i));
}
printf("c[\"1st\"] = %d\n", c["1st"]);
//c["2nd"] = 66;
printf("c[\"2nd\"] = %d\n", c["2nd"]);
printf("c[\"3rd\"] = %d\n", c["3rd"]);
printf("c[\"4rd\"] = %d\n", c["4th"]);
printf("c[\"5rd\"] = %d\n", c["5th"]);
printf("c[\"6rd\"] = %d\n", c["6th"]);
return 0;
} |
|