Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [C++] Rule of 5 đầy đủ: IntArray deep copy

    Cài đặt class IntArray quản lý một con trỏ int* arr với kích thước n. Cung cấp đầy đủ rule of 5: constructor IntArray(size_t), destructor, copy constructor (deep copy), copy assignment (deep copy với self-check), move constructor (chuyển sở hữu), move assignment. Thêm phương thức set(i,v), get(i), size(). Đọc m thao tác: "C n" tạo IntArray a(n); "S i v" gán a[i]=v; "P i" in a[i]; "K" copy auto b = a (deep copy) rồi đổi b[0] = 999 và in a[0], b[0] để chứng minh deep copy. Trong main giả định tồn tại biến a được khởi tạo bởi lệnh C đầu tiên.

    • Định dạng đầu vào:

      Dòng 1: m. M dòng tiếp theo: lệnh như mô tả. Lệnh C đảm bảo chỉ xuất hiện ở dòng đầu tiên.

    • Ràng buộc đầu vào:

      1 <= m <= 1000 1 <= n <= 1000 0 <= i < n -10^9 <= v <= 10^9

    • Định dạng đầu ra:

      Theo từng lệnh P/K.

    Ví dụ:

    Đầu vào:

    5
    C 3
    S 0 1
    S 1 2
    P 0
    K
    

    Đầu ra:

    1
    1 999

    Giải thích:

    P 0 -> 1; K -> a[0]=1, b[0]=999.

    Đang tải editor...