JavaScript is required

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ẽ.

A.

Gọi đến phương thức Xuat thuộc lớp B

B.

Gọi đến phương thức Xuat thuộc lớp A

C.

Lỗi

D.
Gọi đến cả hai phương thức
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