Giải đáp con trỏ "this" và Constructor, Destructor

EM mới đào sang C++ có 3 thứ em chưa hiểu được rõ là con trỏ This, contructor và destructor mọi người cắt nghĩa cho em dễ hiểu đúng với ạ. Em xin cảm ơn

1 Like

this là chính nó, chỗ nào dùng this bạn hiểu là đang dùng truyền vào chính cái class đấy. constructor là hàm khởi tạo, mục đích của nó là để khởi tạo cái giá trị trong class đó, ngược lại của nó là destructor, dùng để huỷ những gì mình khởi tạo trong class đó.

3 Likes

Bác có thể nói trong ví dụ ngắn được không ạ để em dễ hiểu chút ạ

bạn tự làm ví dụ của bạn, đặt tay code. rồi chố nào ko rõ post code lên đây mình sẽ giúp đỡ. chứ bạn chưa code rồi cứ đi hỏi vậy nó ko hiệu quả

3 Likes

Em có đoạn code này bác có thể chỉ giúp em chỗ làm việc của 3 thành phần trên được không ạ

#include<iostream> 
using namespace std;

class Box
{
   public: 
   // phan dinh nghia Constructor
      Box(double dai=1.0, double rong=1.0, double cao=1.0)
      {
         cout <<"Constructor duoc goi!" << endl;
         chieudai = dai;
         chieurong = rong;
         chieucao = cao;
      }
      double theTich()
      {
         return chieudai * chieurong * chieucao;
      }
      int sosanh(Box box)
      {
         return this->theTich() > box.theTich();
      }
   private:
      double chieudai;     // chieu dai cua mot box
      double chieurong;    // chieu rong cua mot box
      double chieucao;     // chieu cao cua mot box
};

int main(void)
{
   Box Box1(2.4, 4.2, 2.2);    // khai bao box1
   Box Box2(4.5, 2.0, 3.2);    // khai bao box2

   if(Box1.sosanh(Box2))
   {
      cout << "Box2 la nho hon Box1" <<endl;
   }
   else
   {
      cout << "Box2 la bang hoac lon hon Box1" <<endl;
   }
   return 0;
}
2 Likes

trong đoạn code trên bạn biết đâu mà constructor chưa ? nếu chưa biết thì học lại cơ bản trước đã

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?