第9周深复制体验1

来源:互联网 发布:linux snmp协议配置 编辑:程序博客网 时间:2024/05/16 03:32

代码;

/**Copyright (c) 2016, 烟台大学计算机与控制工程学院*All rights reserved.*文件名称:main.cpp;*作    者:岳成艳;*完成日期:2015年5月3号;*版 本 号:vc++6.0;**问题描述:略。*程序输入:无;*程序输出:见运行测试;*/#include<iostream>#include<cstring>using namespace std;class A{private:    char *a;public:    A(char *aa)    {        a = new char[strlen(aa)+1];//(a)这样处理的意义在于:aa中最后一个字符是"/0"结尾,所以计算aa的长度的时候少一个长度,所以加1        strcpy(a, aa);  //(b)数据成员a与形式参数aa的关系:把aa中的内容复制给a。    }    ~A()    {        delete []a;   //(c)这样处理的意义在于:  __释放由new建立的对象,释放指针所指向的内存空间    }    void output() { cout<<a<<endl; }};int main(){    A a("good morning, code monkeys!");    a.output();    A b("good afternoon, codes!");    b.output();    return 0;}
运行测试:
<img src="http://img.blog.csdn.net/20160503223131683?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

0 0
原创粉丝点击