我刚刚惊讶地发现以下是合法的 C++
struct A {
void foo(int) const = 0; // pure virtual
// ...
};
void A::foo(int) const { /* ... */ }
什么是合理的用例?即什么时候会A::foo
被调用,为什么这是正确/最好的实现?C++03 和 C++11 之间有什么区别吗?
好的,以前有一个具有相同意图的问题(我没有找到)。但是那是 C++11 之前的版本。所以我的最后一个问题仍然有效。