-2
我是C++中的noobie。 我有类DataBase其中包含表(类表),我必须重载运算符以获得下一个结果: dataBase(3,5)= someTable; - 此代码必须用表someTable替换数据库中的表3-5。C++超载运算符
所以,请帮助我请重载方法签名。
我是C++中的noobie。 我有类DataBase其中包含表(类表),我必须重载运算符以获得下一个结果: dataBase(3,5)= someTable; - 此代码必须用表someTable替换数据库中的表3-5。C++超载运算符
所以,请帮助我请重载方法签名。
您DataBase
类中重载函数调用操作的签名是:
reference_type operator()(int first, int last);
凡reference_type
是一个代理的参考,这是存储到数据库的引用,第一个和最后一个索引的辅助型,并重载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;
};