为什么我不能删除新产品的记忆

时间:2019-06-01 07:53:34

标签: c++

我不知道哪里出了问题。

class A{
    private:
    char *num=NULL;
    public:
    A(){}
    A(const char* str){
        num=new char[strlen(str)];
        strcpy(num,str);
    }
    A(const A& a){
        if(a.num){
            num=new char [strlen(a.num)+1];
            strcpy(num,a.num);
        }
    }
    ~A(){
        if(num)
            delete []num;
    }
};

int main(){
A* ptr=new A[1];

new(ptr) A("woaini");
A c;
c=ptr[0];

system("pause");
return 0;
}

0 个答案:

没有答案