初期化子

初期化子がゲームプログラマになる前に覚えておきたい技術の中で出てきたので復習してた。

プログラム:

#include <iostream>

using namespace std;

class CTestA{
    private:
        int m_a;
    public:
        CTestA(int a_): m_a(a_){
            cout << "TestA:" << a_ << endl;
        }
        void put(){
            cout << m_a << endl;
        }
};

class CTestB{
    private:
        CTestA *pm_a;
    public:
        CTestB(int b_): pm_a(new CTestA(b_)){
            cout << "TestB:" << b_ << endl;
        }
};

int main(){
    CTestA *a;
    CTestB *b;
    a = new CTestA(5);
    a->put();
    b = new CTestB(54);
    return 0;
}

出力:

TestA:5
5
TestA:54
TestB:54