Một bạn xây dựng lại lớp số nguyên như trên, Bạn có thực hiện khai báo toán tử tăng trước tại dòng số:

Trả lời:
Đáp án đúng: B
Đề bài yêu cầu xác định dòng code khai báo toán tử tăng trước (prefix increment operator). Trong đoạn code C++ được cung cấp, toán tử tăng trước được khai báo và định nghĩa tại dòng số 15: `Number& operator++();`
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
Lời giải:
Đáp án đúng: B
Quan hệ bạn (friend) trong C++ không có tính chất bắc cầu. Điều này có nghĩa là nếu class A là bạn của class B và class B là bạn của class C, thì không có nghĩa là class A là bạn của class C hoặc class C là bạn của class A.
* Phương án A: Sai. Class C không thể truy xuất đến các thành viên private của class A.
* Phương án B: Sai. Class B có thể truy xuất đến các thành viên private của class C vì class B là bạn của class C.
* Phương án C: Đúng. Vì class A là bạn của class B, nên class B có thể truy xuất các thành viên của class A.
* Phương án D: Sai. Class A không thể truy xuất đến các thành viên private của class C.
Do đó, đáp án đúng là C.
* Phương án A: Sai. Class C không thể truy xuất đến các thành viên private của class A.
* Phương án B: Sai. Class B có thể truy xuất đến các thành viên private của class C vì class B là bạn của class C.
* Phương án C: Đúng. Vì class A là bạn của class B, nên class B có thể truy xuất các thành viên của class A.
* Phương án D: Sai. Class A không thể truy xuất đến các thành viên private của class C.
Do đó, đáp án đúng là C.
Lời giải:
Đáp án đúng: D
Phương án A đúng vì mỗi đối tượng là một thể hiện riêng biệt của lớp và cần vùng nhớ riêng để lưu trữ các giá trị thuộc tính của nó.
Phương án B đúng vì lớp đóng vai trò như một khuôn mẫu hoặc kiểu dữ liệu do người dùng định nghĩa. Ta có thể khai báo biến, mảng đối tượng dựa trên lớp này.
Phương án C đúng vì một thuộc tính của lớp có thể là một đối tượng của chính lớp đó (ví dụ: cây nhị phân, danh sách liên kết).
Vì cả A, B, C đều đúng nên D là đáp án chính xác nhất.
Phương án B đúng vì lớp đóng vai trò như một khuôn mẫu hoặc kiểu dữ liệu do người dùng định nghĩa. Ta có thể khai báo biến, mảng đối tượng dựa trên lớp này.
Phương án C đúng vì một thuộc tính của lớp có thể là một đối tượng của chính lớp đó (ví dụ: cây nhị phân, danh sách liên kết).
Vì cả A, B, C đều đúng nên D là đáp án chính xác nhất.
Lời giải:
Đáp án đúng: D
Đoạn chương trình C++ trên thực hiện các phép gán và tăng giá trị của biến `a`. Ban đầu, `a` được gán giá trị 5. Sau đó, `a` được gán bằng `a + 6`, tức là `5 + 6 = 11`. Cuối cùng, giá trị của `a` (là 11) được in ra màn hình.
Vậy, đáp án đúng là 11.
Vậy, đáp án đúng là 11.
Lời giả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.
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.
Lời giải:
Đáp án đúng: A
Trong đoạn mã C++ đã cho, Lop2 kế thừa từ Lopl và đồng thời chứa một đối tượng p thuộc kiểu Lopl. Câu hỏi đặt ra là làm thế nào để đối tượng objLop2 (thuộc lớp Lop2) có thể truy xuất hàm nhap() của lớp Lopl.
Phân tích các phương án:
- Phương án 1:
objLop2.nhap{). Cách viết
objLop2.p.nhap()objLop2.nhap{)không hợp lệ trong C++, dấu ngoặc nhọn không đúng. Tuy nhiên, biểu thứcobjLop2.p.nhap()là đúng. VìLop2chứa một đối tượngpkiểuLopl, ta có thể truy cập hàmnhap()củapbằng cách này. - Phương án 2:
objLop2.nhap(). VìLop2kế thừa từLopl, đối tượngobjLop2có thể trực tiếp truy cập các thành viên public củaLopl, bao gồm cả hàmnhap(). Do đó, phương án này đúng. - Phương án 3:
objLop2.p ^nhap(). Toán tử^không được sử dụng để truy cập thành viên của một đối tượng trong C++. Phương án này sai. - Phương án 4: Tất cả đều sai.
Vì cả phương án 1 (một phần) và phương án 2 đều đúng, ta cần chọn phương án đúng nhất. Phương án 2 là ngắn gọn và trực tiếp nhất. Tuy nhiên, phương án 1 cũng đúng một phần (objLop2.p.nhap()). Vì đề bài hỏi "cú pháp nào sau đây là đúng nhất?", ta chọn phương án 2.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng
