Cho đoạn chương trình sau:
class A {
private:
int x,y;
public:
void Xuat(); virtual;
};
Hãy nhận định phát biểu đúng:
Trả lời:
Đáp án đúng: B
Trong C++, từ khóa `virtual` được sử dụng để khai báo một phương thức ảo. Phương thức ảo cho phép đa hình động, nghĩa là hành vi của phương thức có thể khác nhau tùy thuộc vào đối tượng thực tế mà nó được gọi đến. Tuy nhiên, cú pháp khai báo phương thức ảo trong C++ là `virtual void Xuat();` hoặc `virtual void Xuat() = 0;` (nếu là phương thức ảo thuần túy). Trong đoạn code đề bài, có một lỗi cú pháp tại dòng `void Xuat(); virtual;`. Cú pháp đúng phải là `virtual void Xuat();` hoặc `virtual void Xuat() = 0;`. Do đó, phát biểu đúng là có lỗi trong dòng khai báo phương thức ảo.
Các phương án khác không đúng vì:
- `Xuat` không phải là hàm tạo vì hàm tạo có tên trùng với tên class.
- `Xuat` không phải là hàm hủy vì hàm hủy có tên trùng với tên class và có dấu ngã `~` ở trước.
- Mặc dù `Xuat` được định ý định là phương thức ảo, nhưng vì có lỗi cú pháp nên nhận định "Xuat là phương thức ảo" không hoàn toàn chính xác trong ngữ cảnh này.
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
