問題及代碼:
/*
Copyright(c)2016,煙臺大學計算機與控制工程學院
All rights reserced
文件名稱:test.cpp
作 者:蔡汝佳
完成日期:2016年4月28日
版 本 號:v1.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;
}
運行結果:
知識點總結:
先構造B類的對象obj,在構造時先輸出B,然後再給p分配A的內存空間,輸出了A,執行完之後先析構b,輸出了~B,最後在釋放掉p,執行了析構A的函數,輸出了~A.
學習心得: