我正在阅读http://www2.research.att.com/~bs/bs_faq2.html上的 C++ 常见问题解答,当我遇到此代码以实现“密封”类时:
class Base{
public:
friend class A;
private:
Base(){cout<<"Base constructor called";}
};
class A : public virtual Base{
public:
A(){cout<<"A const called";}
};
class B : private A{};
int main(){
A a;
//B b;
return EXIT_SUCCESS;
}
我不明白如何通过使用 virtual 关键字来实现“密封”类效果。如果我删除 virtual 关键字,则它没有“密封”效果。为什么?