JavaScript is required

What is the output of the following code? #include int count = 0; class obj { public: obj() { count++; } ~obj() { count--; } }; int main() { obj A, B, C, D, E; obj F; { obj G; } std::cout << count; return 0; }

A.

0

B.

5

C.

6

D.

7

Trả lời:

Đáp án đúng: C


Đoạn code C++ này sử dụng một biến toàn cục `count` để theo dõi số lượng đối tượng `obj` đang tồn tại. Constructor của lớp `obj` tăng `count` lên 1, và destructor giảm `count` xuống 1. Trong hàm `main`, các đối tượng `A`, `B`, `C`, `D`, `E`, và `F` được tạo. Điều này làm cho `count` tăng lên 6. Sau đó, một khối mã con được tạo ra, trong đó đối tượng `G` được tạo. Điều này làm cho `count` tăng lên 7. Khi khối mã con kết thúc, đối tượng `G` bị hủy, và `count` giảm xuống 6. Cuối cùng, giá trị của `count` (là 6) được in ra. Vậy đáp án đúng là C. 6

Câu hỏi liên quan