看到这个标题的时候不要骂我:重载操作符了以后,就像使用操作符一样,就能够调用重载的操作符了。
是滴,没错,但是这里要记一些其他的调用方法:
#include <stdio.h>

class My

...{
public:
int operator[](int index)

...{
return index;
}

void Print()

...{
//对象的成员函数内使用this指针来调用操作符,注意优先级原因,this要加上括号
printf("%d ", (*this)[1]);

//象函数调用一样调用操作符,加上operator关键字即可
printf("%d ", this->operator[](2));
}
};

int main()

...{
My obj;
obj.Print();
printf("%d ", obj.operator[](3)); //象调用成员函数一样调用操作符
printf("%d ", obj[4]); //一般的操作符调用方法
return 1;
}
是滴,没错,但是这里要记一些其他的调用方法:
#include <stdio.h>
class My
...{
public:
int operator[](int index)
...{
return index;
}
void Print()
...{
//对象的成员函数内使用this指针来调用操作符,注意优先级原因,this要加上括号
printf("%d ", (*this)[1]); 
//象函数调用一样调用操作符,加上operator关键字即可
printf("%d ", this->operator[](2));
}
};
int main()
...{
My obj;
obj.Print();
printf("%d ", obj.operator[](3)); //象调用成员函数一样调用操作符
printf("%d ", obj[4]); //一般的操作符调用方法
return 1;
}
本文介绍了C++中操作符重载的多种调用方法,包括通过成员函数使用this指针调用,以及像普通成员函数那样直接调用。演示了如何定义并使用自定义类的下标操作符。
356

被折叠的 条评论
为什么被折叠?



