标题:关于类中重载运算符()
只看楼主
y442974010f
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-7-28
结帖率:0
 问题点数:0 回复次数:1 
关于类中重载运算符()
请教各位 ,如果在类中重载了运算符(),

class A{
    ....
    void operator() (int i)
    {
        ...
    }
    ...
};
那么在初始化对象的时候,A a(5);   此时()执行的是重载后的定义,还是原来的定义??
2016-08-05 11:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
哪来的“重载后的定义”和“原来的定义”?

A a(5); // 调用构造函数
a(5); // 调用operator()
A(5)(5); // 先用A(5)构造匿名临时对象,再调用这个对象的operator()
2016-08-05 13:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-467565-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.136925 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved