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ì:
Đáp án đúng: A
Trong C++, khi một lớp (class) có định nghĩa một hoặc nhiều hàm tạo (constructor), nhưng không có hàm tạo mặc định (hàm tạo không tham số), thì trình biên dịch sẽ không tự động tạo một hàm tạo mặc định cho lớp đó. Trong đoạn code đã cho, lớp Phanso
có một hàm tạo Phanso(int ts1, int ms1)
, nhưng không có hàm tạo không tham số (ví dụ: Phanso()
).
Khi khai báo Phan so P1;
, bạn đang cố gắng tạo một đối tượng của lớp Phanso
mà không cung cấp bất kỳ tham số nào. Vì không có hàm tạo nào phù hợp (tức là không có hàm tạo không tham số), trình biên dịch sẽ báo lỗi. Lệnh khai báo Phanso P2(3,4);
hoạt động tốt vì nó sử dụng hàm tạo đã được định nghĩa Phanso(int ts1, int ms1)
với hai tham 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.
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
