نسخ عميق (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++» بحسابك.
ابدأ الحل