C笔记六十九小括号运算符重载

原创笔记,转载请注明出处!

点击,遇见更好的你~

小括号()运算符用于函数调用。

重载格式:类型类::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;

}

操作符()的重载至少现在看来,我觉得好别扭,也不知道这东西有什么用,后面触及到这个知识再写。

原创笔记,转载请注明出处!

更多精彩请


转载请注明:http://www.aierlanlan.com/rzdk/5250.html