Hãy xem xét đoạn mã sau có lỗi ở dòng nào:
1. class Lopl
2. {
3. private:
4. int a,b;
5. friend voidNhap();
6. };
7. class Lop2
8. {
9. private:
10. float x,y;
11. friend void Nhap( );
12. };
13. void nhap()
14. {
15. Lop 1 obj 1; Lop2 obj 2;
16. cout«"\n\t Nhap a ="; cin»objl.a;
17. cout«"\n\t Nhap x cin»obj2.x;
18. }
Trả lời:
Đáp án đúng: A
Đoạn mã có một số lỗi sau:
1. **Dòng 5 và 11:** `friend voidNhap();` và `friend void Nhap( );` khai báo hàm bạn `Nhap` (có thể có ý định là `nhap`) nhưng không có kiểu trả về và tên lớp nào được chỉ định để hàm này là bạn. Điều này là không hợp lệ.
2. **Dòng 13:** `void nhap()` định nghĩa một hàm `nhap` (viết thường). Tuy nhiên, trong C++, tên hàm phân biệt chữ hoa chữ thường, nên hàm `Nhap` (viết hoa chữ N) được khai báo là friend ở trên khác với hàm `nhap` này.
3. **Dòng 15:** `Lop 1 obj 1; Lop2 obj 2;` có lỗi chính tả. Tên lớp là `Lopl` (chữ l chứ không phải số 1). Ngoài ra, các biến cần được phân tách bằng dấu chấm phẩy (`;`). Sửa lại là `Lopl obj1; Lop2 obj2;`.
4. **Dòng 16 và 17:** `cout«"\n\t Nhap a ="; cin»objl.a;` và `cout«"\n\t Nhap x cin»obj2.x;` có một số lỗi:
* Toán tử xuất (`<<`) và nhập (`>>`) bị viết sai.
* `objl` và `obj2` phải là `obj1` và `obj2` (lỗi chính tả).
* Hàm `nhap` (viết thường) được định nghĩa, không phải `Nhap` (viết hoa).
Như vậy, dòng 16 và 17 chứa nhiều lỗi nhất.
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
