Cho đoạn chương trình sau:
class A{
…
public:
void Xuat();
};
class B:public A {
….
public:
void Xuat();
};
void main() {
B O;
Nếu gọi O.Xuat(); thì sẽ.
class A{
…
public:
void Xuat();
};
class B:public A {
….
public:
void Xuat();
};
void main() {
B O;
Nếu gọi O.Xuat(); thì sẽ.
Trả lời:
Đáp án đúng: A
Trong đoạn chương trình C++ đã cho, lớp `B` kế thừa từ lớp `A` và cả hai lớp đều có phương thức `Xuat()`. Khi một đối tượng `O` thuộc lớp `B` được tạo và phương thức `O.Xuat()` được gọi, phương thức `Xuat()` được gọi sẽ là phương thức được định nghĩa trong lớp `B`. Điều này là do trong C++, khi một lớp con (ở đây là `B`) ghi đè (override) một phương thức của lớp cha (ở đây là `A`), phương thức của lớp con sẽ được ưu tiên gọi khi đối tượng thuộc lớp con gọi phương thức đó.
Do đó, đáp án đúng là:
Gọi đến phương thức Xuat thuộc lớp B.
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
