JavaScript is required

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;

A.

Hàm dựng 1

B.

Hàm dựng 2

C.

Cả 2 hàm dựng đều được gọi

D.
Không hàm dựng nào được gọi
Trả lời:

Đáp án đúng: A


Khi bạn sử dụng `new Lop` mà không có tham số, trình biên dịch sẽ tìm và gọi hàm dựng mặc định không tham số (hoặc hàm dựng không có tham số nào). Trong trường hợp này, đó là `lop () // Ham dung 1`. Hàm dựng này sẽ khởi tạo các biến thành viên `a` và `b` của đối tượng `objLop` với giá trị 5. Do đó, chỉ có hàm dựng 1 đượ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.


48 câu hỏi 60 phút

Câu hỏi liên quan