c++ - 在公共(public)场合使用 X::func

标签 c++ using

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

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

最佳答案

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

这些函数已经是 BX 的公共(public)成员,所以这不会破坏封装。

关于c++ - 在公共(public)场合使用 X::func,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27729454/

相关文章:

C# 使用命名空间语句排序

c++ - R 和 C++ 迭代

c++ - 一遍又一遍地重新定义变量是否会增加内存?

C# "Using"语法

c++ - 这是否使用与此 typedef 相同的函数类型(不是指针)的别名

c# - 无法让 Costura.Fody 工作,一直要求 DLL

c++ - 从 R 调用 C++ 函数时出错 - 库加载,但函数不在表中

c++ - 在 C++ 中继承具有相似签名的成员函数时出现问题

c++ - istream 的 operator>> (double& val) 在 libc++ 和 libstdc++ 之间的差异

c# - ADO.NET 是否过度使用 IDisposable?