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;
f
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 LopobjLop(4,5) thì hàm dựng nào sẽ đúng?
class Lop
{
private :
int a,b;
public:
lop () // Ham dung 1
{
a = b = 5;
f
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 LopobjLop(4,5) thì hàm dựng nào sẽ đúng?
Trả lời:
Đáp án đúng: A
Khi tạo một đối tượng `objLop` của lớp `Lop` bằng cú pháp `Lop objLop(4, 5)`, trình biên dịch sẽ tìm kiếm một hàm dựng phù hợp để khởi tạo đối tượng này. Hàm dựng phù hợp là hàm dựng có cùng số lượng và kiểu tham số với các giá trị được truyền vào khi tạo đối tượng.
Trong trường hợp này, chúng ta có hai hàm dựng:
1. `Lop()`: Hàm dựng này không có tham số.
2. `Lop(int m, int n)`: Hàm dựng này có hai tham số kiểu `int`.
Vì chúng ta tạo đối tượng với hai tham số kiểu `int` (4 và 5), hàm dựng thứ hai `Lop(int m, int n)` sẽ được gọi.
**Lưu ý:** Có một lỗi cú pháp trong hàm dựng thứ hai `a ^ m; b ^ n;`. Toán tử `^` là toán tử XOR bitwise, không phải là phép gán. Tuy nhiên, lỗi này không ảnh hưởng đến việc lựa chọn hàm dựng nào được gọi, mà chỉ ảnh hưởng đến kết quả sau khi hàm dựng được gọi.
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
