在公共场合使用 X::func

Use of using X::func in public

本文关键字:func      更新时间:2023-10-16

最近我遇到了如下所示的代码。它实现了什么?我们如何将物体的私人部分带到公共空间?我知道使用 BX::f 的用法,如果派生类隐藏了基类函数。

 class BX { 
 public: 
 void f(int); 
 void f(char const*); 
 void g(); 
}; 
class DX : private BX { 
 public: 
 using BX::f; 
};

它使f函数成为DX的公共成员,但不会使任何其他内容BX可访问。

这些函数已经是BX的公共成员,因此这不会破坏封装。