当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

C++成员函数实现操作符重载

使用情况:通常对类本身的运算符重载
    如类nameclass的运算符函数名称operator op
    如x,y都是类nameclass的生成的对象,如果重载并实现了operator op
    我们可以做这样的计算x op y,编译器会自动翻译成如下x.operator op(y)
    如op是重载的运算符是加法(+),那么可变成x+y,编译器会变成x.operator+(y)
    计算顺序是:
    x op y变成x=x op y,运算结果存入到x,
    x.operator+(y)
    第一个操作数是类的对象x,也就是隐含的对象指针this,
    第二个操作数是参数y,对象X与的数据成员逐个一一相加,
    返回结果:是计算完毕后返回到左边的对象,它返回的必须是对象,而不能是其它数据类型
    .重载下标[]取值运算符实例
    定义operator[]
    class foo
    {
    private:
     vector<int> data;
    public:
     int& operator[] (const size_t);
    };
    实现operator[]
    int& foo::operator[](const size_t index)
    { return data[index]; }
相关内容
赞助商链接