送分 问个很坑爹的问题
比如一个类重载了[]操作符
class A a;A[1]=10;
如果我只有一个指针 这个格式怎么写?
A *a; a->[1]=10????
[解决办法]
那的看你[]函数的返回值是什么类型,多数情况应该不能这样用
[解决办法]
指针的话,如果你写成a[1]或者其他的,它是不会调用到你的[]重载,会导致胃定义,只能用普通的对象调用的operator重载函数
[解决办法]
class C{
public:
int operator[](int i){
MessageBox(0,0,(LPCSTR)"[]",0);
return 0;
}
};
(*a)[1] = 10;