在 C++ 中预定义 >> 运算符以跳过 '(' 和 ')'

Predefine >> operator in c++ to skip '(' and ')'

如何在 class 之外预定义运算符 >> 以便我可以这样做:

Num number(0,0);
cin >> number; // input is "(1,2)" 

我想在 1 上使用 set_num1(num1) 函数,在 2 上使用 set_num2(num2) 函数。 所以最后的数字应该是number(1,2)。操作者在读取时应跳过(,),只取数值,无需任何验证。

阅读您的 Num class:

时请忽略 '('','')' 字符
std::istream& operator>>(std::istream& is, Num& num) {       
   cin.get(); // ignore '('
   int n{0};
   cin >> n;
   num.set_num1(n);       
   cin.get(); // ignore ','
   cin >> n;
   num.set_num2(n);
   cin.get(); // ignore ')'
   return is;
}

请注意,此代码不对输入进行任何验证。