第九周项目一 写出程序的运行结果并理解(3)

/*copyright(c)2016.烟台大学计算机学院
 * All rights reserved,
 * 文件名称:text.Cpp
 * 作者:舒文超
 * 完成日期:2016年4月17日
 * 版本号:vc++6.0
 *
 * 问题描述:阅读下面程序,写出运行结果并理解
 */
#include <iostream>
using namespace std;
class AA
{
public:
    AA(int i,int j)
    {
        A=i;
        B=j;
        cout<<"Constructor\n";
    }
    AA(AA &obj)
    {
        A=obj.A+1;
        B=obj.B+2;
        cout<<"Copy_Constructor\n";
    }
    ~AA() {
        cout<<"Destructor\n";
    }
    void print()
    {
        cout<<"A="<<A<<",B="<<B<<endl;
    }
private:
    int A,B;
};
int main()
{
    AA a1(2,3);
    AA a2(a1);
    a2.print();
    AA *pa=new AA(5,6);
    pa->print();
    delete pa;
    return 0;
}


运行结果:

        Constructor(执行构造函数)

        Copy_Constructor(执行复制构造函数)

        A=3,B=5(输出a2中A,B的值)

        Constructor(分配动态内存空间,执行构造函数)

        A=5,B=6(输出pa中AB的值)

        Destructor(释放pa的空间,执行析构函数)

        Destructor(程序运行完,执行析构函数)

        Destructor(程序运行完,执行析构函数)

你可能感兴趣的:(第九周项目一 写出程序的运行结果并理解(3))