Khi xây dựng lớp trong C++, nếu trong lớp có thành phần thuộc tính là kiểu con trỏ hay tham chiếu thì bắt buộc phải:
Đáp án đúng: A
Khi một lớp trong C++ có thành viên là con trỏ hoặc tham chiếu, việc quản lý bộ nhớ và sao chép đối tượng trở nên phức tạp hơn. Nếu không có hàm hủy (destructor) được định nghĩa, bộ nhớ mà con trỏ trỏ tới có thể không được giải phóng khi đối tượng bị hủy, dẫn đến rò rỉ bộ nhớ. Tương tự, nếu không có phương thức sao chép (copy constructor) hoặc toán tử gán (assignment operator) được định nghĩa, việc sao chép đối tượng sẽ chỉ sao chép địa chỉ của con trỏ, dẫn đến việc nhiều đối tượng cùng trỏ tới một vùng nhớ, và khi một đối tượng giải phóng vùng nhớ này, các đối tượng khác sẽ gặp lỗi.
Tuy nhiên, việc xây dựng hàm hủy là bắt buộc để giải phóng bộ nhớ đã cấp phát cho con trỏ, trong khi phương thức sao chép không phải lúc nào cũng cần thiết nếu việc sao chép không được thực hiện hoặc có thể chấp nhận việc sao chép địa chỉ con trỏ. Do đó, xây dựng hàm hủy là bắt buộc hơn.





