JavaScript is required

Từ khóa virtual khi đứng trước một hàm nào đó thì có ý nghĩa gì?

A.

Xác định hàm đó sẽ chuyển thành đa dạng hình

B.

Xác định là hàm ảo

C.

Xác định hàm sẽ được thừa kế

D.

Xác định hàm ảo sẽ được sử dụng trong lớp

Trả lời:

Đáp án đúng: A


Từ khóa virtual khi đứng trước một hàm trong C++ (và một số ngôn ngữ lập trình hướng đối tượng khác) có ý nghĩa quan trọng trong việc hiện thực tính đa hình (polymorphism). Nó cho phép một lớp con (derived class) ghi đè (override) một hàm của lớp cha (base class) và khi một đối tượng của lớp con được truy cập thông qua một con trỏ hoặc tham chiếu của lớp cha, phiên bản hàm của lớp con sẽ được gọi thay vì phiên bản của lớp cha. Điều này được gọi là "đa hình thời gian chạy" (runtime polymorphism) hay "liên kết động" (dynamic binding).

Phân tích các đáp án:

  • Đáp án 1: "Xác định hàm đó sẽ chuyển thành đa dạng hình" - Đúng. Hàm virtual là cơ chế để hiện thực tính đa hình.
  • Đáp án 2: "Xác định là hàm ảo" - Đúng, nhưng chưa đủ ý. Đây chỉ là cách gọi tên, chưa giải thích ý nghĩa của nó.
  • Đáp án 3: "Xác định hàm sẽ được thừa kế" - Sai. Tất cả các hàm không private đều được thừa kế, virtual không liên quan đến việc có thừa kế được hay không.
  • Đáp án 4: "Xác định hàm ảo sẽ được sử dụng trong lớp" - Sai. Hàm ảo được sử dụng *thông qua con trỏ hoặc tham chiếu của lớp cha*.

Như vậy, đáp án chính xác nhất là đáp án 1, vì nó thể hiện đúng bản chất và mục đích của từ khóa virtual.

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