我偶然發現這個代碼,我很困惑它如何編譯,因爲來自A的函數之一引用靜態B.此外它應該做什麼。需要關於此代碼與多態性的解釋
其中B選自A.
衍生在阿文件中了Bh
static B* instance() { return dynamic_cast<B*>(A::instance()); }
static A* instance();
在B.cpp
A* A::instance()
{
static B s_instance;
return &s_instance;
}
類定義並且這樣是省略以減輕代碼。
我不明白這個問題。 – 2012-02-22 15:53:01