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(3,4);

Thì hàm dựng nào sẽ được gọi

A.

Hàm dựng 2

B.

Hàm dựng 1

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


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