Kodax

نسخ عميق (Rule of Three) — تحدي C++

صنف Buffer يحجز مصفوفة int بحجم n على الـ heap. نفّذ المُنشئ والهادم ومُنشئ النسخ وعامل الإسناد بنسخ عميق، مع set(i, v) وget(i) وsize().

class Buffer {
    int* data;
    int n;
public:
    Buffer(int n) : data(new int[n]()), n(n) {}
    ~Buffer() { delete[] data; }
    // مُنشئ النسخ + عامل الإسناد
    void set(int i, int v) { data[i] = v; }
    int get(int i) const { return data[i]; }
    int size() const { return n; }
};

حل هذا التحدي يرتبط بفتح دورة «OOP في C++» بحسابك.

ابدأ الحل