JavaScript is required

Khi đa năng hóa toán tử nhập (trích dòng) cho lớp SP ta khai báo dòng tiêu đề như sau:

A.

friend istream & operator >>(istream & istr, SP &a);

B.

friend void istream & operator >>(istream & istr, SP &a);

C.

friend istream & operator >>(istream istr, SP &a);

D.

friend istream & operator >>(istream & istr, SP a);

Trả lời:

Đáp án đúng: A


Khi đa năng hóa toán tử nhập (>>) cho một lớp (ví dụ: SP), chúng ta thường khai báo nó như một hàm bạn (friend) để có thể truy cập trực tiếp vào các thành viên private hoặc protected của lớp đó. Dưới đây là phân tích chi tiết cho từng phương án:

  • Phương án 1: friend istream & operator >>(istream & istr, SP &a);
    • Đây là khai báo đúng.
    • friend: Cho phép hàm này truy cập các thành viên private/protected của lớp SP.
    • istream &: Toán tử trả về một tham chiếu đến đối tượng istream. Điều này cho phép thực hiện nhập liên tiếp (ví dụ: cin >> a >> b).
    • istream & istr: Tham số thứ nhất là một tham chiếu đến đối tượng istream (ví dụ: cin). Tham chiếu này cho phép thay đổi trạng thái của istream (ví dụ: đọc dữ liệu từ luồng).
    • SP &a: Tham số thứ hai là một tham chiếu đến đối tượng lớp SP. Tham chiếu này cho phép thay đổi trực tiếp đối tượng SP khi đọc dữ liệu vào nó.
  • Phương án 2: friend void istream & operator >>(istream & istr, SP &a);
    • Sai. Hàm trả về void không cho phép nhập liên tiếp.
  • Phương án 3: friend istream & operator >>(istream istr, SP &a);
    • Sai. Tham số istream istr được truyền theo giá trị (by value), không cho phép thay đổi trạng thái của luồng nhập gốc (ví dụ: cin).
  • Phương án 4: friend istream & operator >>(istream & istr, SP a);
    • Sai. Tham số SP a được truyền theo giá trị, nghĩa là một bản sao của đối tượng SP được tạo ra. Bất kỳ thay đổi nào được thực hiện trên a sẽ không ảnh hưởng đến đối tượng gốc. Do đó, chúng ta không thể nhập dữ liệu trực tiếp vào đối tượng SP ban đầu.

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