Cho lớp A, B, C trong đó lớp C kế thừa lớp A,B. Trong lớp A, B đều có phương thức Xuat, lớp C không có phương thức Xuất, khi khai báo đối tượng obj thuộc lớp C thì nếu gọi đến phương thức Xuat (obj.Xuat()) thì khi biên dịch thấy xuất hiện lỗi, trường hợp xảy ra lỗi này là do:
Đáp án đúng: D
Trong C++, khi một lớp (C) kế thừa từ nhiều lớp cha (A, B) mà các lớp cha này có cùng một phương thức (Xuat), hiện tượng này được gọi là đa kế thừa với sự mơ hồ về tên (name ambiguity). Khi đối tượng của lớp con (obj thuộc lớp C) gọi phương thức Xuat, trình biên dịch không thể tự động quyết định nên gọi phương thức Xuat của lớp cha A hay lớp cha B. Do đó, nó báo lỗi. Để giải quyết vấn đề này, ta cần chỉ rõ lớp cha nào mà phương thức Xuat được gọi đến, ví dụ: obj.A::Xuat() hoặc obj.B::Xuat().
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
