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

来源:互联网 发布:软件开发实例java 编辑:程序博客网 时间:2024/05/22 19:24

问题及代码:

/**烟台大学计算机学院*文件名称:xiangmu1(1).cpp*作    者:闫安*完成日期:2016年5月8日*版 本 号:codeblocks 16.01**问题描述:设计一个武器类,其数据成员至少要有武器名、威力,还可以加上你想描述           武器的其他数据。设计成员函数,在上周的游戏角色类Role基础上补充*输入描述:无*程序输出:任务的各种状态*/#include<iostream>#include<cstring>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与aa同为指针数组,系统分配的内存空间相同    }    ~A()    {        delete []a;    //(c)这样处理的意义在于:释放指针所指向的内存空间,否则会导致动态分配的内存无法回收,使得程序所占的内存越来越大    }    void  output()    {        cout<<a<<endl;    }};int main(){    A a("good morning,code monkeys!");    a.output();    A b(a);    b.output();    return 0;}

运行结果:


0 0
原创粉丝点击