溫馨提示×

C++繼承機制支持隱藏繼承嗎

c++
小樊
81
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 類的成員函數(shù) printValue 中訪問 value 時,它指的是 Derived 類中的成員,而不是 Base 類中的成員。

0