您的位置:首页 > 其它

第九周阅读项目-(3)

2016-04-28 09:19 323 查看
问题及代码:

/*
Copyright(c)2016,烟台大学计算机与控制工程学院
All rights reserced
文件名称:test.cpp
作    者:蔡汝佳
完成日期:2016年4月28日
版 本 号:v1.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;
}


 

运行结果:



知识点总结:

先构造AA 的对象a1(2,3),输出Constructor,在构造a2,执行复制构造函数,输出Copy_Constructor,然后执行对象a2的print函数,输出a2的值A=3,B=5,

然后构建AA类的指针pa,给pa分配内存空间(5,6),输出Constructor,然后输出pa指向的内存空间,输出A=5,b=6,然后析构掉pa,输出Destructor,最后函数

执行完毕后,分别析构掉a2和a1,分别输出Destructor。

学习心得:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: