是否可以仅为一个功能重载运算符。我想覆盖 '->' 运算符,但仅在使用 print 函数( ->print() )调用它时。我知道这是一个奇怪的请求,但我正在努力实现某个 API,我需要这样的东西。
例如:
Cat cat;
cat.walk();
cat->print(); //I want to overload only this call
但是,我不想在所有情况下都重载“->”运算符。例如:
Cat* cat;
cat->walk(); //this should work normally
cat->print(); //this wouldn't call the print() function,
//since I overloaded cat->print()