Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2

Chủ đề: Help mình về OOP

  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Help mình về OOP

    MÌnh làm trả về kiểu void thì được nhưng khi return về cái đối tượng thì nó k làm việc và rất hay bị lỗi heap .

    Mã:
    CIntArray CIntArray::Remove(){    int i, j;    cout << "--------------------Mang sao khi xoa la--------------------" << endl;    CIntArray *out = new CIntArray[this->m_Length];    out->m_Length = this->m_Length;    for (i = 0; i < out->m_Length - 1; i++)    {        for (j = i + 1; j < out->m_Length; j++){            if (out->m_Array[i] == out->m_Array[j]){                int t = out->m_Array[j];                out->m_Array[j] =out->m_Array[out->m_Length - 1];                out->m_Array[out->m_Length - 1] = t;                out->m_Length--;                j--;            }        }        }    return *out;}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Phương thức Remove() nên trả về kiểu con trỏ đối tượng : CIntArray * CIntArray::Remove()
    Khi đó câu lệnh trả về sẽ là : return out;
    Ở nơi gọi phương thức này nên xóa đối tượng đã tạo

    Mã:
    {// Giả sử đã có một con trỏ hợp lệ tới đối tượng của lớp CIntArray là pFirst    CIntArray * pAnother = pFirst->Remove();    // ..... Các truy xuất khác với pAnother->PhươngThứcKhác(...)    delete pAnother;}

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •