标签:ace ast include ios bool 括号 detail strong art
C++项目中,经常会遇到使用重载()操作符的地方,请看下面一个例子:
?
view plain
#include?<iostream>??
using?namespace?std;??
class?Clastype??
{??
????public:??
????????Clastype(int?a)??
????????{??
????????????cout?<<?"Hello?Clastype!"?<<?a?<<?endl;??
????????}??
????????bool?operator?()(int?b)??
????????{??
????????????cout?<<?"Hello?Clastype()!"?<<?b?<<?endl;??
????????????return?true;??
????????}??
};??
int?main()??
{??
????Clastype?a(1);??
????Clastype(2);??
????Clastype?t?=?Clastype(3);??
????t(4);??
????Clastype?*b?=?new?Clastype(5);??
????(*b)(6);??
}??
?
运行结果如下:
view plain
@-desktop:~/test$?g++?-o?o?6.cpp??
@-desktop:~/test$?./o??
Hello?Clastype!1??
Hello?Clastype!2??
Hello?Clastype!3??
Hello?Clastype()!4??
Hello?Clastype!5??
Hello?Clastype()!6 ?
可见,括号操作符的使用为对象加上()操作符。类名直接加()操作符为对象的创建。
标签:ace ast include ios bool 括号 detail strong art
原文地址:http://www.cnblogs.com/skiing886/p/7616269.html