Announcement

Collapse
No announcement yet.

Infraction for 11520207: Tạo thread thiếu chất lượng

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Infraction for 11520207: Tạo thread thiếu chất lượng

    Post: [Help] Lỗi Hàm ~String Trong Lớp String
    User: 11520207
    Infraction: Tạo thread thiếu chất lượng
    Points: 1

    Administrative Note:
    Chú ý: [Phải đọc trước khi tạo thread] Một số quy tắc khi hỏi các vấn đề về lập trình.

    Message to User:
    Original Post:
    Mình đang Code bài tập về lớp chuỗi kí tự String. Debug bị lỗi fail assertion, trong khi mình Check lại không hề thấy lỗi, nhưng chạy lại lỗi. Mình kiểm tra hoài vẫn không thấy sai chỗ nào. Ngồi Check cả buổi rồi mình xóa hàm ~String luôn thì lại chạy bình thường.:shock:
    Vấn đề là mình muốn giữ hàm ~String thì phải làm cách nào. Các bạn xem giùm Code của mình có lỗi chỗ nào thì giúp mình hen.:go:

    Code :
    * File Header: STRING.h
    #pragma once
    #include "string.h"
    #include "iostream"
    using namespace std;

    class STRING
    {
    private:
    char *Content;
    int Lenght;
    public:
    STRING();
    STRING(char* s);
    STRING operator=(const STRING& p);
    ~STRING();
    friend STRING operator+(const STRING& p,const STRING& q);
    void Xuat();
    };
    *File Cpp: STRING.cpp
    #include "STRING.h"
    #include "string.h"
    #include "iostream"
    using namespace std;


    STRING::STRING()
    {
    Content=NULL;
    Lenght=0;
    }
    STRING::STRING(char* s)
    {
    Lenght=strlen(s);
    Content=new char [Lenght+1];
    strcpy(Content,s);
    }
    STRING STRING:perator=(const STRING& p)
    {
    delete []Content;
    Lenght=strlen(p.Content);
    Content=new char [Lenght+1];
    strcpy(Content,p.Content);
    return *this;
    }
    STRING::~STRING()
    {
    delete []Content;
    Lenght=0;
    }
    STRING operator+(const STRING& p,const STRING& q)
    {
    STRING t;
    t.Lenght=p.Lenght+q.Lenght;
    t.Content=new char [t.Lenght+1];
    strcpy(t.Content,p.Content);
    strcat(t.Content,q.Content);
    return t;


    }
    void STRING::Xuat()
    {
    cout<<Content<<"\n";
    }
    *File Cpp chứa hàm Main:
    #include "STRING.h"
    #include "string.h"
    #include "iostream"
    using namespace std;


    void main()
    {
    STRING x,y("DH CNTT"),z="DHQG";
    y.Xuat();
    z.Xuat();
    x=y+z;
    x.Xuat();


    }

LHQC

Collapse
Working...
X