Câu hỏi phỏng vấn OOP
Câu hỏi

Giải thích khái niệm về Destructor trong C++

Câu trả lời

Destructor trong C++ là một phương thức đặc biệt của lớp, được thiết kế để được thực thi khi một đối tượng của lớp đó bị hủy hoặc kết thúc thời gian sống của nó. Mục đích chính của destructor là để giải phóng tài nguyên hoặc thực hiện một số tác vụ dọn dẹp cần thiết trước khi đối tượng bị hủy hoàn toàn. Điều này đặc biệt quan trọng trong quản lý tài nguyên, như giải phóng bộ nhớ hoặc đóng các kết nối mạng và tệp mà đối tượng có thể đã mở trong thời gian tồn tại của nó.

Destructor có cùng tên với lớp nhưng được tiền tố bởi ký hiệu ~. Ví dụ, nếu tên lớp là MyClass, tên của destructor sẽ là ~MyClass. Một điểm quan trọng cần lưu ý là destructor không thể nhận bất kỳ tham số nào và không trả về giá trị, kể cả void[1][2].

Destructor được gọi tự động khi đối tượng ra khỏi phạm vi hoạt động hoặc khi delete được sử dụng để giải phóng bộ nhớ của đối tượng được cấp phát động. Trong trường hợp của các đối tượng cấp phát động, việc không gọi delete có thể dẫn đến rò rỉ bộ nhớ, vì destructor sẽ không được gọi để giải phóng bộ nhớ[1][2].

Một điểm khác biệt quan trọng giữa constructor và destructor là trong khi một lớp có thể có nhiều constructor, nó chỉ có thể có một destructor. Điều này phản ánh mục đích duy nhất của destructor là dọn dẹp tài nguyên khi một đối tượng bị hủy[1].

Tro...

senior

senior

Gợi ý câu hỏi phỏng vấn

junior

Trong lập trình OOP, lớp trừu tượng là gì?

junior

Trong lập trình OOP, interface là gì?

junior

Câu hỏi được dịch là: "Sự khác biệt giữa class và structure là gì?"

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào