Iovebiancheng 2021-07-27 10:18 采纳率: 100%
浏览 31
已结题

不知道那出现错误,求解

img

img

img

  • 写回答

1条回答 默认 最新

  • 浪客 2021-07-27 10:36
    关注

    name = new char[strlen(temp.name) + 1];
    new的是数组,要用[]

    class study {
    
    public:
        char* name, * url;
    
    public:
        study(const char* name, const char* url) {
            this->name = new char[strlen(name) + 1];
            this->url = new char[strlen(url) + 1];
            if (this->name)
                strcpy(this->name, name);
    
            if (this->url)
                strcpy(this->url, url);
        }
    
        study(study& temp) {
            name = new char[strlen(temp.name) + 1];
            url = new char[strlen(temp.url) + 1];
            if (name)
                strcpy(name, temp.name);
            if (url)
                strcpy(url, temp.url);
        }
        study& operator =(study& temp) {
            delete[] name;
            delete[] url;
            name = new char[strlen(temp.name) + 1];
            url = new char[strlen(temp.url) + 1];
            if (name)
                strcpy(name, temp.name);
            if (url)
                strcpy(url, temp.url);
    
            return *this;
        }
    };
    
    int main()
    {
        study a("试试", "www.shishi.com");
        cout << a.name << ":" << a.url << endl;
        study b = a;
        cout << b.name << ":" << b.url << endl;
        study c("看看", "www.kankan.com");
        b = c;
        cout << b.name << ":" << b.url << endl;
        system("pause");
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月27日