1. 程式人生 > >第九周專案訓練1

第九周專案訓練1

/*  
*Copyright (c) 2016,煙臺大學計算機學院  
*All rights reserved.  
*檔名稱 :  
*作    者 : 王璵璠
*完成日期 : 2016年5月15號  
*版 本 號 : v1.0  

*

問題描述:

閱讀下面程式,填寫註釋

程式:

#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的關係:把aa指向的那個字串,複製到a所指向的儲存空間中
    }
    ~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;
}

執行結果: