我是一个中级C++用户,我遇到了以下情况.下面显示的类定义使用g ++编译器编译得很好.但我无法确定整个语法的含义.
我的猜测是该函数operator int()返回一个int类型.
此外,我无法弄清楚如何使用重载operator ()的main()
class A
{
public:
A(int n) { _num = n; } //constructor
operator int();
private:
int _num;
};
A::operator int() // Is this equivalent to "int A::operator()" ??
{
return _num;
}
int main()
{
int x = 10;
A objA(x); //creating & initializing
// how to use operator() ?
// int ret = objA(); // compiler error when uncommented
return 0;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.