第9週目の項目はプログラムを読むと、プログラムの実行結果を書き出して理解する(1)

979 ワード

/*copyright(c)2016.         
 * All rights reserved,
 *     :text.Cpp
 *   :   
 *     :2016 4 17 
 *    :vc++6.0
 *
 *     :      ,         
 */
#include <iostream>
using namespace std;
class A
{
public:
    A(){cout<<"A";}
    ~A(){cout<<"~A";}
};

class B
{
    A *p;
public:
    B()
    {
        cout<<"B";
        p=new A();
    }
    ~B()
    {
        cout<<"~B";
        delete p;
    }
};
int main()
{
    B obj;
    return 0;
}

実行結果:
         BA~B~A
B:Bクラスの「obj」を宣言してBクラスのコンストラクタを実行し、「B」を出力する
A:Bのコンストラクション関数を実行するとき、Aタイプの*pにダイナミックメモリを割り当て、Aクラスのコンストラクション関数を実行し、「A」を出力する
~B:プログラムの実行が終了し、objのメモリを解放し、"~B"を出力する
~A:Bクラスの架空関数の実行時にAの架空関数を実行し、「~A」を出力する