C++中如何调用基class方法?

How to call the base class method in C++?

我正在开发 C++ 程序。对于其中一个用例,我有一个 class 派生自它的模板 class。所以,我想知道我们如何在派生的 class 方法中调用基 class 方法?

示例:

template <typename base>
struct derived : public base
{
    void aFunction()
    {
        // need to call a base function() here
    }
};

其中一种方法可能类似于 base::aBaseFunction(),但我不确定?

我是 OOP 编程的新手,所以期待通过这个问题陈述学习一个新概念。

如果您想显式使用基的成员,请像您发现的那样显式设置类型:

template <typename base>
struct derived : public base
{
    void aFunction()
    {
        base::function();
    }
};

如果您更希望有通常的 unqualified-lookup 行为,请改为 this 显式:

template <typename base>
struct derived : public base
{
    void aFunction()
    {
        this->function();
    }
};

两者的行为与在 non-templates 中的行为完全相同。