原创笔记,转载请注明出处!
点击,遇见更好的你~
小括号()运算符用于函数调用。
重载格式:类型类::operator()(表达式表)
比如,设x是类X的一个对象,则表达式x(arg1,arg2)可被解释为:
x.operator()(arg1,arg2)
例:用重载()运算符实现数学函数的抽象(文末)。
我们如果见到一个类F,定义一个对象f,Ff;那么f();要么就是直接调用了没的构造函数,产生一个匿名兑现,要么就是进行了操作符重载。
还是按照以前的步骤,首先操作符重载是一个函数,operator()
对于函数参数,假设有两个参数,那就是operator()(arg1,arg2)
然后就是根据函数形参的类型,函数返回类型对函数做声明。
#includeiostream
usingnamespacestd;
classF
{
public:
//操作符重载函数声明
doubleoperator()(doublex,doubley);
};
//操作符重载函数定义
doubleF::operator()(doublex,doubley)
{
returnx*x+y*y;
}
intmain()
{
Ff;
coutf(5.2,2.5)endl;
//相当于f.operator()(5.2,2.5)
system(pause);
return0;
}
操作符()的重载至少现在看来,我觉得好别扭,也不知道这东西有什么用,后面触及到这个知识再写。
原创笔记,转载请注明出处!
更多精彩请