C++扩展类强制某些方法私有(private)

标签 c++ extend

我的问题很简单:~给定两个类,我希望其中一个扩展另一个,但将一些方法变成私有(private):

Class B
public Method a();
public Method b();
public Method c();

Class A extends B
private Method a();
private Method b();
public Method c();

这可能吗?如何实现? 谢谢!

最佳答案

这就是私有(private)继承的用途。

class A:   private B
{
    // All methods of class B are now private.
    // To make some "public" again:
    public:
        Method c()  { return B::c(); } // Call the private c-method from class B.
};

关于C++扩展类强制某些方法私有(private),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446789/

相关文章:

c++ - 使用 gprof 和 boost

Python 列表扩展和变量赋值

java - 扩展模型的良好实践?

Java 泛型类,其泛型类型扩展了多个其他类

java - 我应该使用哪种键值数据结构?按值快速检索,按键快速检索

c++ - valgrind 检测到堆栈粉碎

c++ - 什么 SAFESEH :NO option actually do

c++ - 从类模板实现纯虚函数 - 参数类型

ios - 扩展 UIView 并在 iOS 中添加属性

python - Python 列表的 += 运算符是否等同于 append() 或 extend()?