C++ 快速導覽 - 類別 巢狀類別

類別 (class) 中也可定義類別,這樣的類別被稱為巢狀類別 (nested class) ,舉例如下

#include <iostream>

class Demo {
public:
    class Demo2 {
    public:
        Demo2(int a) {
            d2a = a;
        }
        
        int d2a;
    };
    
    Demo2 *d2;

    void do_something() {
        d2 = new Demo2(34);
        std::cout << d2->d2a << std::endl;
    }
};

int main(void) {
    Demo d;
    d.do_something();

    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:classdemo15.cpp
    功能:示範 C++ 程式
    作者:張凱慶
    時間:西元 2013 年 1 月 */


Demo2 為在 Demo 中定義的類別
class Demo2 {
public:
    Demo2(int a) {
        d2a = a;
    }
        
    int d2a;
};


d2Demo 的變數成員 (variable member) ,用來建立 Demo2 的物件 (object) ,注意, d2 需要宣告為指標 (pointer)
Demo2 *d2;


編譯執行結果如下



中英文術語對照
類別class
巢狀類別nested class
變數成員variable member
物件object
指標pointer


您可以繼續參考
類別


相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁


參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial

C++ Primer, Fourth Edition, Stanley B. Lippman...

沒有留言: