c++ class類嵌套類如何定義

c++
小樊
81
2024-09-24 23:40:13

在 C++ 中,可以在一個(gè)類中定義另一個(gè)類,這稱為嵌套類。嵌套類的定義與普通類相似,但是嵌套類被定義在另一個(gè)類的內(nèi)部。以下是一個(gè)簡(jiǎn)單的示例:

class OuterClass {
public:
    class InnerClass {
    public:
        int data;
    };
};

在這個(gè)例子中,OuterClass 是一個(gè)外部類,而 InnerClass 是一個(gè)內(nèi)部類。內(nèi)部類 InnerClass 中有一個(gè)名為 data 的整數(shù)成員變量。

需要注意的是,嵌套類只能在其外部類中被訪問(wèn)。也就是說(shuō),在外部類之外無(wú)法直接訪問(wèn)內(nèi)部類及其成員變量或方法。如果需要在外部類之外訪問(wèn)內(nèi)部類,則需要通過(guò)外部類的實(shí)例來(lái)訪問(wèn)。例如:

OuterClass myOuter;
OuterClass::InnerClass myInner = myOuter.new InnerClass();

在這個(gè)例子中,我們首先創(chuàng)建了一個(gè) OuterClass 的實(shí)例 myOuter,然后通過(guò)該實(shí)例創(chuàng)建了一個(gè) InnerClass 的實(shí)例 myInner。注意,我們?cè)趧?chuàng)建 myInner 時(shí)使用了 new 關(guān)鍵字,這是因?yàn)?InnerClass 是一個(gè)內(nèi)部類,其默認(rèn)構(gòu)造函數(shù)是私有的,無(wú)法直接訪問(wèn)。

0