注册 登录
编程论坛 C++教室

关于类中重载运算符()

y442974010f 发布于 2016-08-05 11:49, 1846 次点击
请教各位 ,如果在类中重载了运算符(),

class A{
    ....
    void operator() (int i)
    {
        ...
    }
    ...
};
那么在初始化对象的时候,A a(5);   此时()执行的是重载后的定义,还是原来的定义??
1 回复
#2
rjsp2016-08-05 13:52
哪来的“重载后的定义”和“原来的定义”?

A a(5); // 调用构造函数
a(5); // 调用operator()
A(5)(5); // 先用A(5)构造匿名临时对象,再调用这个对象的operator()
1