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 bằng cú pháp Lop obj Lop; Thì hàm dựng nào sẽ được gọi
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 bằng cú pháp Lop obj Lop; Thì hàm dựng nào sẽ được gọi
Trả lời:
Đáp án đúng: A
Khi tạo một đối tượng bằng cú pháp `Lop objLop;` (chú ý có một lỗi đánh máy, phải là `Lop obj;`), trình biên dịch sẽ tìm một hàm dựng không tham số (hoặc với tất cả các tham số đều có giá trị mặc định) để khởi tạo đối tượng `obj`. Trong đoạn mã đã cho, hàm dựng `Lop()` (Hàm dựng 1) là hàm dựng không tham số. Do đó, hàm dựng 1 sẽ được gọi để khởi tạo đối tượng `obj`.
Hàm dựng 2 `Lop(int m, int n)` yêu cầu hai tham số kiểu `int`, nên nó sẽ không được gọi trong trường hợp này trừ khi chúng ta tạo đối tượng theo cú pháp `Lop obj(a, b);` với `a` và `b` là các số nguyên.
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
