/*
02.*烟台大学计算机学院学生
03.*All right reserved.
04.*文件名称*烟台大学计算机学院学生
05.*All right reserved.
06.*文件名称:深复制体验
07.*作者:王洪海
08.*完成日期:2013年4月8日
09.*版本号:v1.0
10.*对任务及求解方法的描述部分:深复制体验
11.*我的程序:
12.*/
#include<iostream>
#include<cstring>
using namespace std;
class A
{
private:
char *a;
public:
A(char *aa)
{
a = new char[strlen(aa)+1]; //(1)这样处理的意义在于:利用new函数开辟一个strlen(aa)+1大小的空间赋值给a。
strcpy(a,aa); //(2)数据成员a与形式参数aa的关系:_将aa赋值给a。
}
A(const A&b)
{
a=b.a;
}
~A()
{
delete []a; //(3)这样处理的意义在于: 删除a。(必须包含[])
}
void output()
{
cout<<a<<endl;
}
};
int main(){
A a("good morning, code monkeys!");
cout<<"输出a:"<<endl;
a.output();
A b(a);
cout<<"输出b:"<<endl;
b.output();
return 0;
}
运行结果,如下图: