Giả sử một lớp với các hàm dựng được khai báo như sau:
class Lop
private :
int a,b;
public:
lop ( ) // Ham dung 1
{
a = b = 5;
}
lop (int m, int n) // Ham dung 2
{
a = m; b = n;
}
};
Khi tạo một đối tượng con trỏ bằng lệnh sau:
Lop ^objLop;
objLop = new Lop(3,4);
Thì hàm dựng nào sẽ được gọi
Trả lời:
Đáp án đúng: A
Câu hỏi kiểm tra việc hiểu cách các hàm dựng (constructors) được gọi khi tạo đối tượng trong C++. Trong đoạn mã được cung cấp, `Lop ^objLop; objLop = new Lop(3,4);` tạo một đối tượng `Lop` bằng toán tử `new` và truyền hai tham số `3` và `4`. Điều này chỉ ra rằng hàm dựng có hai tham số (Hàm dựng 2) sẽ được gọi.
* **Hàm dựng 1:** Hàm dựng này không có tham số, do đó nó sẽ không được gọi trong trường hợp này.
* **Hàm dựng 2:** Hàm dựng này có hai tham số, và nó phù hợp với cách đối tượng `Lop` được tạo bằng `new Lop(3, 4)`. Do đó, đây là hàm dựng được gọi.
* **Cả 2 hàm dựng đều được gọi:** Điều này không đúng vì chỉ có một hàm dựng được gọi khi một đối tượng được tạo ra.
* **Không hàm dựng nào được gọi:** Điều này không đúng vì hàm dựng luôn được gọi khi một đối tượng được tạo ra.
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
