السلام عليكم
الحلقة الثانية - الجزء الثاني.
الحلقة الثانية - الجزء الثالث.
الحلقة الثانية - الجزء الرابع.
الحلقة الثانية - الجزء الخامس.
الحلقة الثانية - الجزء السادس و الأخير.
الحلقة الثالثة - الجزء الثاني.
الحلقة الثالثة - الجزء الثالث.
الحلقة الثالثة - الجزء الرابع.
الحلقة الثالثة - الجزء الخامس و الأخير.
الحلقة الرابعة - الجزء الثاني.
الحلقة الرابعة - الجزء الثالث.
الحلقة الرابعة - الجزء الرابع.
الحلقة الرابعة - الجزء الخامس.
الحلقة الرابعة - الجزء السادس.
الحلقة الرابعة - الجزء السابع.
مرحبا بكم إخوتي الكرام في الجزء الثامن من الحلقة الرابعة من سلسلة اختبر قدراتك, قمتُ بتقسيم الحلقة الرابعة إلى عدة أجزاء, مُرتبة حسب الصعوبة.
أجزاء هذه الحلقة ستكون خاصة بمسائل الــ OOP.
الإختبار الرابع (الجزء الثامن) :
الفئة vect تسمح بمعالجة متجهات ديناميكية (dynamic vectors) من الأعداد الصحيحة, تم الإعلان عن هذه الفئة في ملف vect.h كالتالي :
class vect {
protected: // en prévision d'une éventuelle classe dérivée
int nelem; // nombre d'éléments
int * adr; // adresse zone dynamique contenant les éléments
public:
vect(int); // constructeur
~vect(); // destructeur
int & operator [] (int); // accès à un élément par son "indice"
};نفترض أن دالة البناء تحجز حجم المتجهات بشكل مناسب, و المؤثر [] يمكن استخدامه إما في عبارة أو على يسار مؤثر الإسناد.
من ناحية أخرى, هذه الفئة لا تحتوي على copy constructor, أيضا لم تتم إعادة تعريف مؤثر الإسناد و بالتالي نجد أن إسناد أو إرسال بيانات من نوع vect يطرح "المشاكل الشائعة".
قم بإنشاء فئة باسم vectok مشتقة من vect, تدعم إسناد و إرسال بيانات من نوع vectok بشكل مناسب.
لتسهيل استخدام الفئة الجديدة, قم بإنشاء دالة عضو تُعيد حجم متجه محدد.
اكتب برنامج رئيسي للتأكد.
سأضع حل السؤال بعد إنتهاء عرض المحاولات.