小编vth*_*lhu的帖子

隐式转换运算符重载语法

我是一个中级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)

任何帮助将不胜感激.

c++ operator-overloading

2
推荐指数
1
解决办法
1914
查看次数

标签 统计

c++ ×1

operator-overloading ×1