第九周项目1-深度复制体验(3)

问题及代码:

/* 

*Copyright (c) 2016,烟台大学计算机学院 

*All rights reserved. 

*文件名称:zwj.cpp 

*作 者:张晴晴 

*完成日期:2016年4月28日 

*版 本 号:v1.0 * 

*问题描述:深复制 

*输入描述: 

*程序输出:

*/

#include<iostream>
#include<cstring>
using namespace std;
#include<iostream>
using namespace std;
class A
{
private:
    char *a;
public:
    A(char *aa)
    {
        a = new char[strlen(aa)+1];  //(a)这样处理的意义在于

        strcpy(a, aa);  //(b)数据成员a与形式参数aa的关系:

    }
    ~A()
    {
        delete []a;   //(c)这样处理的意义在于:  

    }
    void output() { cout<<a<<endl; }
};
/*
int main(){
    A a("good morning, code monkeys!");
    a.output();
    A b("good afternoon, codes!");
    b.output();
    return 0;
}
*/
int main()
{
    A a("good morning, code monkeys!");
    a.output();
    A b(a);
    b.output();
    return 0;
}


 

运行结果:

现在的:

第九周项目1-深度复制体验(3)_第1张图片

原来的:

第九周项目1-深度复制体验(3)_第2张图片

学习心得:

学习怎么为A增加复制构造函数。

你可能感兴趣的:(第九周项目1-深度复制体验(3))