为什么operator()[] - > =必须是非静态成员?

时间:2010-12-09 06:43:06

标签: c++

  

可能重复:
  Why are some operators in C++ only allowed to be overloaded as member functions?

为什么operator()[] - > =必须是非静态成员?为什么不能成为朋友呢?

2 个答案:

答案 0 :(得分:2)

因为你必须在一个类的实例上调用它。以 - >为例运营商。你会如何建议获得一个指向类本身的指针?这没什么意义。

答案 1 :(得分:1)

因为它必须是非静态的。简单的设计决定。可能是因为C ++没有类对象的概念。