我可以这样做吗?
class A { ... };
class B : private A
{
const A &foo() const
{
return *((const A *)this);
}
};
我可以接受从基类私有(private)继承的子类并将其转换为其基类的公共(public)版本吗?如果没有虚拟方法,我可以这样做吗?
我的猜测是肯定的,但我想确保它安全/可移植。
最佳答案
是的,您可以:标准的§5.4/7:
但是不要尝试这样做,因为它破坏了私有(private)继承的目的。
关于c++ - 我可以使用C样式转换将派生类转换为私有(private)基类吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17925124/