第九周-程序阅读理解

来源:互联网 发布:樱井知香ed2k file 编辑:程序博客网 时间:2024/05/01 06:11
/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:my.cpp *作    者:张瀚文 *完成日期:2016年5月6日 **问题描述:阅读程序,写出程序的运行结果并理解其运行机制。*/#include <iostream>#include<cstring>using namespace std;class A{  char *a;  public:      A(char *aa)      {          a=new char[strlen(aa)+1];//(a)这样做的意义在于:可以动态分配内存空间,根据实际需要,更加有效利用内存;          strcpy(a,aa);//(b)数据成员a与形式参数aa的关系:aa为形参,根据aa的长度返回值,+1为结束字符,然后 aa的字符串拷贝到a中。      }      ~A(){      delete[]a;//(c)当主函数结束时,进行析构函数,将之前动态分配的内存释放。      }     void output(){cout<<a<<endl;}};int main(){    A a("good monring ,code monkeys!");    a.output();    A b("good afternoon,codes!");    b.output();    return 0;}//将a去掉会导致程序错误,因为strcpy中,a没有分配空间,为野指针。

0 0