Cho đoạn chương trình sau:
class Sinh_vien
{
private:
int Masv;
char Hoten[40];
char Ngaysinh;
int gioitinh;
….
};
Để khai báo một mảng gồm 10 sinh viên ta có thể sử dụng câu lệnh khai báo:
Trả lời:
Đáp án đúng: A
Đề bài yêu cầu khai báo một mảng gồm 10 sinh viên.
* **Phương án 1: Sinh_vien ds[10];** Đây là cách khai báo một mảng `ds` gồm 10 phần tử, mỗi phần tử là một đối tượng thuộc lớp `Sinh_vien`. Câu lệnh này đúng vì nó tạo ra 10 đối tượng `Sinh_vien` một cách trực tiếp.
* **Phương án 2: Sinh_vien ds(10);** Đây là cách khai báo một đối tượng `ds` thuộc lớp `Sinh_vien` và truyền tham số 10 vào constructor của lớp. Tuy nhiên, trong đoạn code mẫu không thấy constructor nào được định nghĩa để nhận tham số là một số nguyên, và nó cũng không phải là cách để khai báo một mảng.
* **Phương án 3: Sinh_vien *ds[10];** Đây là cách khai báo một mảng `ds` gồm 10 con trỏ, mỗi con trỏ trỏ đến một đối tượng `Sinh_vien`. Tuy nhiên, nó chỉ tạo ra các con trỏ, chứ không tạo ra các đối tượng `Sinh_vien` thực sự. Để sử dụng, ta cần cấp phát bộ nhớ cho từng con trỏ, ví dụ: `ds[0] = new Sinh_vien();`. Vì vậy, phương án này không trực tiếp tạo ra mảng 10 sinh viên.
* **Phương án 4: Không thể khai báo mảng các đối tượng** Phương án này sai, vì trong C++ hoàn toàn có thể khai báo mảng các đối tượng.
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
