Trả lời:
Đáp án đúng: B
`ios` là lớp cơ sở (base class) của `istream` và `ostream`, chứ không phải ngược lại. `istream` và `ostream` (các lớp để thực hiện các thao tác nhập và xuất dữ liệu) được kế thừa từ `ios`. Do đó, phát biểu 'ios stream is derived from iostream' là sai.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: D
Đoạn code trên minh họa cách sử dụng toán tử tăng (++) trong Java.
* `int i = 20;`: Khởi tạo biến `i` kiểu `int` với giá trị ban đầu là 20.
* `int j = i++;`:
* Toán tử `i++` là toán tử tăng *sau*. Điều này có nghĩa là giá trị của `i` *hiện tại* (20) được gán cho `j` trước.
* *Sau đó*, giá trị của `i` mới được tăng lên 1 (thành 21).
* `System.out.println(i + "," + j);`: In ra giá trị của `i` (21) và `j` (20), cách nhau bởi dấu phẩy.
Vì vậy, đáp án đúng là B. 21,20.
Lưu ý: Nếu thay `i++` bằng `++i` (toán tử tăng *trước*), giá trị của `i` sẽ tăng lên 1 *trước*, rồi giá trị mới của `i` mới được gán cho `j`. Trong trường hợp đó, cả `i` và `j` đều sẽ có giá trị là 21.
* `int i = 20;`: Khởi tạo biến `i` kiểu `int` với giá trị ban đầu là 20.
* `int j = i++;`:
* Toán tử `i++` là toán tử tăng *sau*. Điều này có nghĩa là giá trị của `i` *hiện tại* (20) được gán cho `j` trước.
* *Sau đó*, giá trị của `i` mới được tăng lên 1 (thành 21).
* `System.out.println(i + "," + j);`: In ra giá trị của `i` (21) và `j` (20), cách nhau bởi dấu phẩy.
Vì vậy, đáp án đúng là B. 21,20.
Lưu ý: Nếu thay `i++` bằng `++i` (toán tử tăng *trước*), giá trị của `i` sẽ tăng lên 1 *trước*, rồi giá trị mới của `i` mới được gán cho `j`. Trong trường hợp đó, cả `i` và `j` đều sẽ có giá trị là 21.
Lời giải:
Đáp án đúng: A
Đáp án đúng là A. friend.
Giải thích:
Trong C++, từ khóa `friend` được sử dụng để cấp quyền truy cập vào các thành viên `private` và `protected` của một lớp cho một hàm hoặc lớp khác. Khi một hàm (không phải là thành viên của lớp) được khai báo là `friend` trong một lớp, nó có quyền truy cập vào tất cả các thành viên của lớp đó, kể cả các thành viên `private`. Điều này cho phép hàm `friend` thao tác trực tiếp với dữ liệu bên trong lớp mà không cần thông qua các hàm thành viên công khai (public).
Các lựa chọn khác:
* B. inline: `inline` là một gợi ý cho trình biên dịch để chèn mã của hàm trực tiếp vào nơi hàm được gọi, nhằm tránh chi phí gọi hàm. Nó không liên quan đến việc kiểm soát truy cập.
* C. static: `static` được sử dụng để tạo các biến hoặc hàm thuộc về lớp chứ không phải là một thể hiện cụ thể của lớp. Nó cũng không liên quan đến việc kiểm soát truy cập.
* D. virtual: `virtual` được sử dụng trong kế thừa để cho phép ghi đè các hàm trong các lớp con. Nó cũng không liên quan đến việc kiểm soát truy cập.
Giải thích:
Trong C++, từ khóa `friend` được sử dụng để cấp quyền truy cập vào các thành viên `private` và `protected` của một lớp cho một hàm hoặc lớp khác. Khi một hàm (không phải là thành viên của lớp) được khai báo là `friend` trong một lớp, nó có quyền truy cập vào tất cả các thành viên của lớp đó, kể cả các thành viên `private`. Điều này cho phép hàm `friend` thao tác trực tiếp với dữ liệu bên trong lớp mà không cần thông qua các hàm thành viên công khai (public).
Các lựa chọn khác:
* B. inline: `inline` là một gợi ý cho trình biên dịch để chèn mã của hàm trực tiếp vào nơi hàm được gọi, nhằm tránh chi phí gọi hàm. Nó không liên quan đến việc kiểm soát truy cập.
* C. static: `static` được sử dụng để tạo các biến hoặc hàm thuộc về lớp chứ không phải là một thể hiện cụ thể của lớp. Nó cũng không liên quan đến việc kiểm soát truy cập.
* D. virtual: `virtual` được sử dụng trong kế thừa để cho phép ghi đè các hàm trong các lớp con. Nó cũng không liên quan đến việc kiểm soát truy cập.
Lời giải:
Đáp án đúng: C
Trong C++, một thành viên lớp (class member) được chia sẻ giữa tất cả các đối tượng (objects) của một lớp được gọi là thành viên tĩnh (static member).
* A. A const member: Một const member là một thành viên không thể thay đổi giá trị sau khi khởi tạo cho đối tượng. Nó không liên quan đến việc chia sẻ giữa các đối tượng.
* B. A reference parameter: Một tham số tham chiếu (reference parameter) được sử dụng để truyền một biến vào một hàm bằng tham chiếu, cho phép hàm sửa đổi giá trị của biến đó. Nó không liên quan đến việc chia sẻ giữa các đối tượng.
* C. A static member: Một static member (biến hoặc hàm) là một thành viên của lớp mà chỉ có một bản sao duy nhất được chia sẻ giữa tất cả các đối tượng của lớp đó. Vì vậy, đây là đáp án đúng.
* D. A function member: Một function member là một hàm được định nghĩa bên trong một lớp. Nó không tự động được chia sẻ giữa các đối tượng theo cách mà static member được chia sẻ. Mỗi đối tượng có thể gọi các function member, nhưng mỗi đối tượng có một bộ dữ liệu riêng (trừ khi hàm đó thao tác với static members).
Vì vậy, đáp án chính xác là C.
* A. A const member: Một const member là một thành viên không thể thay đổi giá trị sau khi khởi tạo cho đối tượng. Nó không liên quan đến việc chia sẻ giữa các đối tượng.
* B. A reference parameter: Một tham số tham chiếu (reference parameter) được sử dụng để truyền một biến vào một hàm bằng tham chiếu, cho phép hàm sửa đổi giá trị của biến đó. Nó không liên quan đến việc chia sẻ giữa các đối tượng.
* C. A static member: Một static member (biến hoặc hàm) là một thành viên của lớp mà chỉ có một bản sao duy nhất được chia sẻ giữa tất cả các đối tượng của lớp đó. Vì vậy, đây là đáp án đúng.
* D. A function member: Một function member là một hàm được định nghĩa bên trong một lớp. Nó không tự động được chia sẻ giữa các đối tượng theo cách mà static member được chia sẻ. Mỗi đối tượng có thể gọi các function member, nhưng mỗi đối tượng có một bộ dữ liệu riêng (trừ khi hàm đó thao tác với static members).
Vì vậy, đáp án chính xác là C.
Lời giải:
Đáp án đúng: D
Đáp án đúng là D. Một lớp cơ sở (base class) là lớp mà các lớp khác kế thừa từ nó. Do đó, nó được "bao gồm" (về mặt quan hệ kế thừa) trong các lớp con (derived classes).
* A: Một lớp trừu tượng (abstract class) có thể là lớp cơ sở, nhưng không phải tất cả các lớp cơ sở đều là lớp trừu tượng. Hơn nữa, việc nó ở "đầu" của hệ thống phân cấp kế thừa không phải là định nghĩa chính xác về lớp cơ sở.
* B: Một lớp có hàm ảo thuần túy (pure virtual function) là một lớp trừu tượng, nhưng không phải mọi lớp cơ sở đều có hàm ảo thuần túy.
* C: Một lớp kế thừa từ một lớp khác được gọi là lớp con (derived class) hoặc lớp dẫn xuất, không phải là lớp cơ sở.
* A: Một lớp trừu tượng (abstract class) có thể là lớp cơ sở, nhưng không phải tất cả các lớp cơ sở đều là lớp trừu tượng. Hơn nữa, việc nó ở "đầu" của hệ thống phân cấp kế thừa không phải là định nghĩa chính xác về lớp cơ sở.
* B: Một lớp có hàm ảo thuần túy (pure virtual function) là một lớp trừu tượng, nhưng không phải mọi lớp cơ sở đều có hàm ảo thuần túy.
* C: Một lớp kế thừa từ một lớp khác được gọi là lớp con (derived class) hoặc lớp dẫn xuất, không phải là lớp cơ sở.
Lời giải:
Đáp án đúng: B
Đề bài yêu cầu xác định giá trị của i1 và i2 sau khi thực hiện đoạn code. Đoạn code sử dụng vòng lặp for để duyệt qua mảng numbers.
- Vòng lặp đầu tiên (for i in numbers):
- i sẽ lần lượt nhận các giá trị của các phần tử trong mảng numbers.
- Khi i == 5, điều kiện if i == 5 được thỏa mãn.
- i1 = i + 2, tức là i1 = 5 + 2 = 7.
- break: Thoát khỏi vòng lặp for đầu tiên.
- Vòng lặp thứ hai (for i in numbers):
- i sẽ lần lượt nhận các giá trị của các phần tử trong mảng numbers.
- Khi i == 5, điều kiện if i == 5 được thỏa mãn.
- i2 = i + 3, tức là i2 = 5 + 3 = 8.
- break: Thoát khỏi vòng lặp for thứ hai.
Sau khi thực hiện hai vòng lặp, i1 = 7 và i2 = 8.
Tuy nhiên, không có đáp án nào trùng với kết quả tính toán. Vì vậy, đáp án đúng nhất là D. Error vì không có đáp án nào đúng.
- Vòng lặp đầu tiên (for i in numbers):
- i sẽ lần lượt nhận các giá trị của các phần tử trong mảng numbers.
- Khi i == 5, điều kiện if i == 5 được thỏa mãn.
- i1 = i + 2, tức là i1 = 5 + 2 = 7.
- break: Thoát khỏi vòng lặp for đầu tiên.
- Vòng lặp thứ hai (for i in numbers):
- i sẽ lần lượt nhận các giá trị của các phần tử trong mảng numbers.
- Khi i == 5, điều kiện if i == 5 được thỏa mãn.
- i2 = i + 3, tức là i2 = 5 + 3 = 8.
- break: Thoát khỏi vòng lặp for thứ hai.
Sau khi thực hiện hai vòng lặp, i1 = 7 và i2 = 8.
Tuy nhiên, không có đáp án nào trùng với kết quả tính toán. Vì vậy, đáp án đúng nhất là D. Error vì không có đáp án nào đúng.
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