JavaScript is required

Cho đoạn chương trình sau:
class Phanso
{
private:
int ts,ms;
public:
Phanso(int ts1, int ms1)
{ts=ts1;ms=ms1;}
};
void main()
{
Phan so P1,P2(3,4);
}
Câu lệnh khai báo Phanso P1 bị báo lỗi vì:

A.

Gọi tới hàm tạo không đối mà chương trình lại không xây dựng

B.

Chương trình trên không thể lỗi được vì chương trình C++ sẽ tự phát sinh hàm tạo không đối

C.

Không xác định được gọi tới hàm tạo nào

D.
Tất cả đều sai
Trả lời:

Đáp án đúng: A


Trong C++, nếu bạn tự định nghĩa một constructor (hàm tạo) có tham số, trình biên dịch sẽ không tự động tạo constructor mặc định (không tham số) cho class đó. Trong đoạn code trên, class `Phanso` chỉ có một constructor là `Phanso(int ts1, int ms1)`. Khi khai báo `Phanso P1`, chương trình cố gắng gọi constructor không tham số, nhưng constructor này không tồn tại. Do đó, câu lệnh `Phanso P1` gây ra lỗi biên dịch.

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