Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class CRect {
int height, width;
public:
CRect (int,int);
int DT () {
return (height + width); }
} ;
CRect::CRect (int a, int b) {
height = a; width = b;
}
int main() {
CRect cn (7,7);
cout << cn.DT();
return 0;
}
Trả lời:
Đáp án đúng: D
Đoạn chương trình định nghĩa một lớp `CRect` với hai thuộc tính `height` và `width`, cùng một phương thức `DT()` trả về tổng của `height` và `width`. Trong hàm `main()`, một đối tượng `cn` của lớp `CRect` được tạo với `height = 7` và `width = 7`. Sau đó, phương thức `DT()` được gọi trên đối tượng `cn`, trả về `7 + 7 = 14`. Kết quả này được in ra màn hình.
Vì vậy, đáp án đúng là D. 14.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đoạn code định nghĩa một lớp `CRect` đại diện cho một hình chữ nhật. Lớp này có hai thuộc tính là `height` (chiều cao) và `width` (chiều rộng), cả hai đều là con trỏ kiểu `int`. Trong hàm tạo `CRect(int a, int b)`, bộ nhớ được cấp phát động cho `height` và `width`, sau đó giá trị của `a` được gán cho `*height` và giá trị của `b` được gán cho `*width`. Phương thức `DT()` trả về tích của `*height` và `*width`. Hàm hủy `~CRect()` giải phóng bộ nhớ đã cấp phát cho `height` và `width`.\n\nTrong hàm `main()`, một đối tượng `cn1` của lớp `CRect` được tạo với chiều cao là 3 và chiều rộng là 4. Sau đó, phương thức `cn1.DT()` được gọi, trả về tích của 3 và 4, tức là 12. Giá trị này được in ra màn hình.\n\nVậy, kết quả của đoạn lệnh là 12.
Lời giải:
Đáp án đúng: C
Đoạn code C++ này thực hiện phép cộng hai vector.
- Dòng 19: Khởi tạo vector `a` với x = 3 và y = 1.
- Dòng 20: Khởi tạo vector `b` với x = 8 và y = 4.
- Dòng 22: Tính tổng `a + b` và gán cho `c`. Phép cộng vector được định nghĩa trong hàm `operator+` (dòng 12-16).
- Dòng 14: `tmp.x = x + v.x;` => `c.x = a.x + b.x = 3 + 8 = 11`
- Dòng 15: `tmp.y = y + v.y;` => `c.y = a.y + b.y = 1 + 4 = 5`
- Dòng 23: In ra `c.x + c.y = 11 + 5 = 16`.
Vậy đáp án đúng là C. 16
Lời giải:
Đáp án đúng: B
Đoạn code trên thực hiện tính toán giá trị của biến `p` kiểu float trong một vòng lặp `for`. Ta cùng phân tích từng bước:
- **Khởi tạo:** `p = 1`
- **Vòng lặp `for`:** `i` chạy từ 1 đến 2.
- **Lần lặp 1 (i = 1):**
- `p = p * i;` => `p = 1 * 1 = 1`
- `p = p * p;` => `p = 1 * 1 = 1`
- **Lần lặp 2 (i = 2):**
- `p = p * i;` => `p = 1 * 2 = 2`
- `p = p * p;` => `p = 2 * 2 = 4`
- **Kết thúc vòng lặp:** Giá trị cuối cùng của `p` là 4.
- **In ra:** `cout << p << endl;` in ra giá trị của `p`, tức là 4.
Vậy đáp án đúng là p=4.
Lời giải:
Đáp án đúng: D
Đoạn chương trình C++ được cung cấp có một số lỗi.
1. **Lỗi cú pháp trong khai báo hàm `operator+`**: Dòng `return tmp` nằm ngoài hàm `operator+`, gây ra lỗi biên dịch.
2. **Lỗi sử dụng biến `t`**: Trong hàm `main`, dòng `cout << t.a;` sử dụng biến `t` chưa được khai báo hoặc khởi tạo. Biến đúng cần dùng là `t3`.
3. **Phép chia lấy dư cho 0**: Nếu `t.a` bằng 0, phép toán `a % t.a` sẽ gây ra lỗi chia cho 0.
Do có các lỗi trên, chương trình sẽ không biên dịch được. Vì vậy, đáp án đúng là 'D. Lỗi biên dịch'.
Lời giải:
Đáp án đúng: C
Đoạn mã C++ được cung cấp có một số vấn đề cần xem xét:
1. **Thiếu `#include ` và `using namespace std;`**: Để sử dụng `cout`, ta cần phải khai báo thư viện `iostream` và không gian tên `std`.
2. **`Void main()`**: Hàm `main` trong C++ phải trả về kiểu `int`, tức là `int main()`.
3. **In địa chỉ**: Đoạn code `cout << r.w;` sẽ in ra địa chỉ của con trỏ `w`, chứ không phải giá trị mà con trỏ `w` trỏ tới.
Mặc dù có các lỗi trên, câu hỏi yêu cầu xác định kết quả *nếu* đoạn lệnh được biên dịch và chạy. Vì vậy, nếu bỏ qua lỗi biên dịch, `r.w` sẽ in ra địa chỉ của vùng nhớ mà `w` đang trỏ tới.
Vì vậy, đáp án đúng nhất là C. Địa chỉ của r.w.
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

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 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