Cho lớp B, C kế thừa lớp A; Lớp D kế thừa lớp B và C. Khi đó đối tượng của lớp D không thể kế thừa được thành phần của A. Cần phải:
Trả lời: 
Đáp án đúng: A
Câu hỏi đề cập đến vấn đề đa kế thừa trong lập trình hướng đối tượng, cụ thể là trường hợp lớp D kế thừa từ cả lớp B và C, mà cả B và C lại kế thừa từ lớp A. Vấn đề phát sinh khi một đối tượng của lớp D có thể có nhiều bản sao của các thành phần từ lớp A, gây ra sự mơ hồ. Để giải quyết vấn đề này, ta sử dụng khái niệm "lớp cơ sở ảo" (virtual base class). Khi B và C kế thừa A là lớp cơ sở ảo, chỉ có một bản sao duy nhất của A được chia sẻ giữa B và C thông qua D. 
*   **Đáp án A đúng**: Khai báo A là lớp cơ sở ảo đối với B và C sẽ đảm bảo rằng chỉ có một bản sao của A được kế thừa vào lớp D, tránh sự trùng lặp và mơ hồ.
*   **Đáp án B sai**: Việc khai báo A là lớp cơ sở ảo đối với D là không cần thiết và không giải quyết được vấn đề gốc. Vấn đề cần giải quyết là sự trùng lặp giữa B và C khi cùng kế thừa A.
*   **Đáp án C sai**: Việc chỉ khai báo A là lớp cơ sở ảo đối với B không giải quyết được vấn đề. C vẫn kế thừa A theo cách thông thường, dẫn đến D vẫn có thể có hai bản sao của A (một từ B và một từ C).
*   **Đáp án D sai**: Lớp D vẫn có thể kế thừa các thành phần của lớp A nếu lớp B và C được khai báo kế thừa lớp A là lớp cơ sở ảo, do đó mệnh đề "Hiển nhiên lớp D không thể kế thừa lớp A" là sai.
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
