温馨提示×

C++继承机制支持隐藏继承吗

c++
小樊
82
2024-11-08 23:48:25
栏目: 编程语言

是的,C++支持隐藏继承(也称为非虚继承)。隐藏继承是指派生类继承基类时,基类的成员在派生类中的访问级别被降低。这意味着派生类中的成员会隐藏基类中具有相同名称的成员。隐藏继承在需要避免基类成员被派生类对象的多个实例共享时非常有用。

以下是一个隐藏继承的示例:

#include <iostream>

class Base {
public:
    int value;
};

class Derived : private Base { // 使用私有隐藏继承
public:
    void printValue() {
        std::cout << "Derived value: " << value << std::endl;
    }
};

int main() {
    Derived d;
    d.value = 42;
    d.printValue(); // 输出 "Derived value: 42"
    return 0;
}

在这个例子中,Derived 类使用私有隐藏继承从 Base 类继承。这意味着 Base 类中的 value 成员在 Derived 类中被隐藏。因此,在 Derived 类的成员函数 printValue 中访问 value 时,它指的是 Derived 类中的成员,而不是 Base 类中的成员。

0