📜  c++ 访问父类函数 - C++ (1)

📅  最后修改于: 2023-12-03 14:59:49.633000             🧑  作者: Mango

C++ 访问父类函数

在 C++ 中,派生类可以继承基类的成员函数并可以访问它们。如果基类中的成员函数被覆盖(override)了,那么在派生类中访问该方法时,将调用派生类中的方法。

然而,在某些情况下,我们需要在派生类中访问基类的同名函数。这可以通过使用作用域解析运算符 :: 来实现。例如:

#include <iostream>

class Base {
public:
    void foo() {
        std::cout << "Base::foo() called" << std::endl;
    }
};

class Derived : public Base {
public:
    void foo() {
        std::cout << "Derived::foo() called" << std::endl;
        
        // 调用基类的 foo() 方法
        Base::foo();
    }
};

int main() {
    Derived d;
    d.foo();
    
    return 0;
}

输出:

Derived::foo() called
Base::foo() called

在派生类中我们可以使用 Base::foo() 来调用基类的 foo() 方法。

当然,如果我们在派生类中定义与基类同名的函数,则覆盖(override)了基类的方法,此时将无法访问基类的同名函数。

希望对大家有所帮助,谢谢!