特殊操作符的重载
1、下标操作符 [],常用于在容器类型中以下标方式获取元素。
类型& operator[](int i)
{
}
2、函数操作符(),一个类如果重载函数操作符,那么它的对象就可以像函数一样使用,参数的个数、返回值类型,可以不确定,它是唯一一个
可以参数有缺省参数的操作符。
#include <iostream>
#include <stdlib.h>
using namespace std;
class Array
{
int* arr;
size_t len;
public:
Array(size_t len):len(len)
{
arr = new int[len];
}
void operator()(void)
{
cout<<"emmm"<<endl;
}
int& operator[](int i)
{
if(i < 0 || i >= len)
{
cout<<"下标错误"<<endl;
exit(0);
}
return arr[i];
}
};
int main()
{
Array arr(100);
for(int i=0; i<10; i++)
{
arr[i] = i;
cout<< arr[i] << endl;
}
arr();
}
3、解引用操作符*,成员访问操作符->
如果一个类重载了*和->,那么它的对象就可以像指针一样使用。
所谓的智能指针就是一种类对象,它支持解引用和成员访问操作符。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!