第九周实践1---阅读程序,写出程序运行结果并理解

代码:

#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;
}

运行结果:

第九周实践1---阅读程序,写出程序运行结果并理解_第1张图片

学习心得:

B类里面包含一个A类的指针,主函数里面的B obj 只是一个对象,没什么特殊的含义,主函数里,先定义一个B类的对象obj,然后执行B类中的操作,B类中定义了一个私有的A类的数据成员*p,执行操作时先输出B然后给p分配内存空间,执行A类中的操作,输出A,B类中的函数执行完了析构输出~B,p分配的内存释放输出~A。


你可能感兴趣的:(第九周实践1---阅读程序,写出程序运行结果并理解)