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`. 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ủa lớp `B` sẽ được thực thi. Điều này là do trong C++, khi một lớp con (ở đây là `B`) định nghĩa một phương thức có cùng tên và kiểu tham số với một phương thức trong lớp cha (ở đây là `A`), phương thức của lớp con sẽ che phủ (override) phương thức của lớp cha. Do đó, khi gọi phương thức thông qua đối tượng của lớp con, phương thức của lớp con sẽ được ưu tiên gọi.

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