JavaScript is required

Cho lớp Điểm như sau: Trong lớp Điểm trên thì để gọi tới hàm KC2D ta sử dụng câu lệnh: 

                                                   

A.

D1.KC2D(D2);

B.

D2.KC2D(D1);

C.

KC2D(D1,D2);

D.

D1::KC2D(D2);

Trả lời:

Đáp án đúng: A


Đề bài yêu cầu xác định cách gọi hàm `KC2D` trong lớp `Điểm`. Hàm `KC2D` là một phương thức của lớp `Điểm`, và nó nhận một đối tượng khác của lớp `Điểm` làm tham số. Do đó, để gọi hàm `KC2D`, ta cần một đối tượng của lớp `Điểm` để gọi phương thức này và truyền một đối tượng `Điểm` khác vào làm tham số. * **Phương án 1: `D1.KC2D(D2);`** Đây là cách gọi đúng. `D1` là một đối tượng của lớp `Điểm`, và ta gọi phương thức `KC2D` trên đối tượng này, truyền `D2` (một đối tượng `Điểm` khác) làm tham số. Cách gọi này phù hợp với cú pháp của việc gọi một phương thức trên một đối tượng trong lập trình hướng đối tượng. * **Phương án 2: `D2.KC2D(D1);`** Về mặt cú pháp, cách gọi này cũng đúng, nhưng nó sẽ tính khoảng cách từ `D2` đến `D1`, chứ không phải từ `D1` đến `D2` như cách gọi ở phương án 1. Tuy nhiên, nếu bài toán chỉ yêu cầu gọi hàm mà không quan tâm đến thứ tự thì phương án này cũng có thể chấp nhận được, nhưng phương án 1 vẫn chính xác hơn theo cách diễn đạt thông thường. * **Phương án 3: `KC2D(D1, D2);`** Đây là cách gọi sai. Vì `KC2D` là một phương thức của lớp `Điểm`, nó phải được gọi trên một đối tượng cụ thể của lớp `Điểm`. Cách gọi này giống như gọi một hàm toàn cục, không gắn với đối tượng nào. * **Phương án 4: `D1::KC2D(D2);`** Đây là cách gọi sai. Toán tử `::` được sử dụng để truy cập các thành viên tĩnh của lớp hoặc để phân giải phạm vi. Trong trường hợp này, `KC2D` không phải là một thành viên tĩnh, và cách gọi này không đúng cú pháp. Vậy, phương án đúng nhất là `D1.KC2D(D2);`

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