第六周项目一 深复制体验 (1.2)

来源:互联网 发布:2016宏观经济数据分析 编辑:程序博客网 时间:2024/05/18 01:23

问题及代码:

/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:Project.cpp*作    者:chenqin.*完成日期:2015年4月22日*版 本 号:v1.0**问题描述:为类A增加复制构造函数,用下面的main函数测试*程序输入:略*程序输出:略*/#include<iostream>#include<cstring>using namespace std;class A{private:    char *a;public:    A(char *aa)    {         a = new char[strlen(aa)+1];        strcpy(a, aa);  //(b)数据成员a与形式参数aa的关系:____把aa所指向的单元复制到a所指向的单元______________________________    }    A(A &b)    {        a= new char[strlen(b.a)+1];        strcpy(a,b.a);    }    ~A()    {        delete []a;   //(c)这样处理的意义在于:  ______在析构函数中把在构造函数中给a所动态分配的空间a所释放掉_____________________________________    }    void output()    {        cout<<a<<endl;    }};int main(){    A a("good morning, code monkeys!");    a.output();    A b(a);    b.output();    return 0;}

 

运行结果:

知识点总结:复制构造函数

学习心得:用常引用建立复制构造函数,注意形式A(A  &b)

 

0 0