c++重载操作符

c++ overload operators

本文关键字:操作符 重载 c++      更新时间:2023-10-16

我是c++新手。我有类数据库,其中包含表(类表),我必须重载操作符来获得下一个结果:数据库(3、5)= someTable;-此代码必须将数据库中的表3-5替换为表someTable.

所以,请帮助我重载方法签名

DataBase类中重载函数调用操作符的签名是:

reference_type operator()( int first, int last );

其中reference_type是一个代理引用,这是一个helper类型,它存储对数据库的引用以及第一个和最后一个索引,并重载operator=来进行替换。

class proxy_reference
{
public:
    proxy_reference( DataBase& database, int first, int last )
      : _database( database )
      , _first( first ), _last( last )
    {}
    --something-- operator=( Table const& someTable )
    {
        /* replace tables _first to _last from _database with someTable */
    }
private:
    DataBase& _database;
    int _first, _last;
};