溫馨提示×

C++類的繼承靜態成員怎么定義

c++
小樊
86
2024-10-31 10:48:54
欄目: 編程語言

在C++中,類的繼承不會繼承靜態成員。靜態成員屬于類本身,而不是類的實例。當你在派生類中聲明一個與基類相同的靜態成員時,它實際上是在派生類中創建一個新的靜態成員,而不是繼承基類的靜態成員。

以下是一個示例,說明如何在派生類中聲明與基類相同的靜態成員:

#include <iostream>

class Base {
public:
    static int staticMember;
};

int Base::staticMember = 10; // 初始化基類的靜態成員

class Derived : public Base {
public:
    static int staticMember; // 聲明與基類相同的靜態成員
};

int Derived::staticMember = 20; // 初始化派生類的靜態成員

int main() {
    std::cout << "Base static member: " << Base::staticMember << std::endl; // 輸出 10
    std::cout << "Derived static member: " << Derived::staticMember << std::endl; // 輸出 20
    return 0;
}

在這個示例中,Base 類有一個名為 staticMember 的靜態成員,其值為 10。Derived 類繼承自 Base 類,并聲明了一個與基類具有相同名稱的靜態成員。這不會導致基類的靜態成員被繼承到派生類中,而是在派生類中創建了一個新的靜態成員,其值為 20。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女