JavaScript is required

Cho đoạn chương trình như hình trên, dòng khai báo virtual void xungten() là: 

                                                               

A.

Khai báo một phương thức ảo

B.

Khai báo một phương thức tĩnh

C.

Khai báo một phương thức riêng không cho phép kế thừa

D.

Khai báo một phương thức bắt buộc phải có trong các lớp kế thừa 

Trả lời:

Đáp án đúng: A


Trong C++, từ khóa `virtual` được sử dụng để khai báo một phương thức ảo (virtual function). Phương thức ảo là một phương thức mà hành vi của nó có thể bị ghi đè (override) trong các lớp con (derived classes). Khi một phương thức được khai báo là ảo, trình biên dịch sẽ đảm bảo rằng phương thức phù hợp trong lớp con sẽ được gọi, ngay cả khi đối tượng của lớp con được truy cập thông qua một con trỏ hoặc tham chiếu đến lớp cha (base class). Phương án 1 đúng vì nó mô tả chính xác chức năng của từ khóa `virtual` trong khai báo phương thức. Phương án 2 sai vì phương thức tĩnh (static method) được khai báo bằng từ khóa `static`, không phải `virtual`. Phương án 3 sai vì đây là mô tả của phương thức private. Phương án 4 sai vì phương thức ảo không bắt buộc phải được định nghĩa lại trong các lớp con, mặc dù nó thường được định nghĩa lại để cung cấp hành vi đặc biệt cho lớp con. Nếu muốn bắt buộc lớp con phải định nghĩa lại phương thức, ta dùng abstract method (trong C++ sử dụng virtual function thuần túy (=0)).

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