Announcement

Collapse
No announcement yet.

Vấn đề về hàm Destructor

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

  • #16
    Originally posted by 13520747 View Post
    mình cũng đã thử cách này trước đó nhưng không được bạn ơi


    chỗ này tạm thời em chưa quan tâm đến
    nhưng anh có giải pháp gì cho việc cấp phát động chuỗi kí tự không ạ?
    đã thế thì đỡ lùng xùng thì cứ destructor ta chứ cho string[0]='\0' là coi như tạm biệt em.thế thôi
    :brick:

    Comment


    • #17
      Originally posted by 13520747 View Post
      mình cũng đã thử cách này trước đó nhưng không được bạn ơi


      chỗ này tạm thời em chưa quan tâm đến
      nhưng anh có giải pháp gì cho việc cấp phát động chuỗi kí tự không ạ?
      Nếu không quan tâm đến cấp phát thì em khai báo luôn cái mảng tĩnh 100 phần tử đi và khỏi cần destructor nữa.
      Originally posted by 13520747 View Post
      Nếu như cài đặt là hàm thành phần thì em phải viết là a.strcmp(b) hay a.strlen(), ... Như vậy đâu có giống với cấu trúc các hàm có sẵn đâu thầy?
      Em nên phân biệt thư viện string của C++ và thư viện string.h của C chuẩn. Code các hàm tương tự như trong string.h cho một lớp tương tự như string của C++ là một ý tưởng vô cùng kỳ quặc

      Originally posted by 13520797 View Post
      đã thế thì đỡ lùng xùng thì cứ destructor ta chứ cho string[0]='\0' là coi như tạm biệt em.thế thôi
      :brick:
      Tư tưởng thật là đồi bại. Thà dùng mảng tĩnh ngay từ đầu còn dễ coi hơn cách này.

      Comment


      • #18
        Originally posted by truonganpn View Post
        Nếu không quan tâm đến cấp phát thì em khai báo luôn cái mảng tĩnh 100 phần tử đi và khỏi cần destructor nữa.
        Dĩ nhiên là em sẽ quan tâm tới nó sau khi tìm được solution cho vấn đề này
        Trước đây em hay làm theo cách: cấp phát thật nhiều cho người dùng nhập vào, sau đó tạo 1 chuỗi mới vừa đủ và copy qua, cuối cùng xóa cái chuỗi ban đầu đi
        Làm vậy thì khá là dài dòng rắc rối tốn thời gian, nhưng em chưa nghĩ ra cách nào hợp lý và hiệu quả hơn :go:

        Em nên phân biệt thư viện string của C++ và thư viện string.h của C chuẩn. Code các hàm tương tự như trong string.h cho một lớp tương tự như string của C++ là một ý tưởng vô cùng kỳ quặc
        đúng là em có chút nhầm lẫn qua lại giữa hai thư viện này :confuse:
        Đừng bán rẻ mình...
        Mà phải BÁN ĐÚNG GIÁ!!!

        Comment


        • #19
          bạn xây dựng thêm copy constructor đi, khi bạn truyền tham trị như trên, nếu bạn ko viết copy contructor thì nó sẽ xài copy constructor mặc định của C, dẫn tới việc trùng địa chỉ và bị xoá 2 lần. Tốt nhất khi làm bài tập mà thành phần có cấp phát động bạn nên có copy constructor và operator = thì sẽ ko gặp lỗi này đâu

          Comment


          • #20
            cảm ơn mọi người, mình đã fix được lỗi
            Đừng bán rẻ mình...
            Mà phải BÁN ĐÚNG GIÁ!!!

            Comment

            LHQC

            Collapse
            Working...
            X