第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」を出力する