c++ - 有没有简单的方法来公开私有(private)父类 C++ 的方法

标签 c++

有没有办法直接暴露私有(private)父类的一些方法。 在下面的示例中,如果我有一个 Child 类型的对象,我希望能够直接调用其父对象的方法 a(),而不是 b(); 当前的解决方案会生成大量样板代码,尤其是在存在大量参数的情况下。

class Parent {
    public:
        void a(int p1, double p2, int p3, std::vector <int> &p4);
        void b();
    };
class Child : private Parent {
    public:
        void a(int p1, double p2, int p3, std::vector <int> &p4) {
            Parent::a(p1, p2, p3, p4);
            }
   };

最佳答案

您可以使用 using 声明。

class Child : private Parent {
    public:
        using Parent::a;
   };

关于c++ - 有没有简单的方法来公开私有(private)父类 C++ 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2351616/

相关文章:

c++ - 如果我已经检查了 event->type(),我应该检查 QEventdynamic_cast 结果吗?

c++ - 这个模板到底检查了什么?

c++ - 使用 `std::vector` 时 `std::unique_ptr` 中的数据不同

c++ - C++ 中的 jit 汇编程序,使用 C 函数

c++ - 在 std::Map 中处理 std::List for operator==,operator!= 等

c++ - glBlendFunc 和 alpha 混合

c++ - 拆分内联非成员运算符的声明和定义的正确方法(链接器问题)

c++ - 将数组传回主体

c++ - SFML 不适用于 C++

c++ - NDK '^' token 之前的预期不合格 ID