JavaScript is required

Trong khai báo lớp Đa thức(DT) dưới đây bằng C++:
class DT {
private:
int m;//bac cua da thuc
float *a;//Cac he so cua da thuc
public:
};
Bắt buôc phải xây dựng:

A.

Hàm tạo

B.

Hàm hủy

C.

Hàm tạo sao chép

D.
Tất cả các hàm trên
Trả lời:

Đáp án đúng: D


Trong lớp Đa thức (DT), biến `a` là một con trỏ (`float *a`) được dùng để lưu trữ các hệ số của đa thức. Khi một lớp chứa một con trỏ đến vùng nhớ được cấp phát động (như trường hợp này), việc quản lý bộ nhớ trở nên rất quan trọng để tránh rò rỉ bộ nhớ và các lỗi liên quan. Do đó, ta cần: 1. **Hàm tạo:** Để cấp phát bộ nhớ cho mảng `a` và khởi tạo các hệ số của đa thức. 2. **Hàm hủy:** Để giải phóng bộ nhớ đã cấp phát cho `a` khi đối tượng `DT` không còn được sử dụng nữa. Nếu không có hàm hủy, bộ nhớ sẽ bị rò rỉ. 3. **Hàm tạo sao chép:** Để tạo một bản sao độc lập của đối tượng `DT`. Nếu chỉ sao chép con trỏ `a`, cả hai đối tượng sẽ cùng trỏ đến một vùng nhớ, và khi một đối tượng giải phóng vùng nhớ này, đối tượng kia sẽ gặp lỗi khi truy cập. Hàm tạo sao chép sẽ cấp phát một vùng nhớ mới và sao chép các giá trị hệ số sang vùng nhớ mới này. Vì cả ba loại hàm đều cần thiết để quản lý bộ nhớ một cách chính xác, đáp án đúng là D.

Cùng ôn thi với bộ câu hỏi trắc nghiệm môn Lập trình hướng đối tượng có đáp án mà tracnghiem.net chia sẽ dưới đây, nhằm giúp các bạn sinh viên chuyên ngành chuẩn bị cho kì thi sắp tới.


50 câu hỏi 60 phút

Câu hỏi liên quan