en
Feedback
PI Team π ❷

PI Team π ❷

Open in Telegram

PI Team فريق تطوعي من طلاب دفعة 2025- 2030 في كلية الهندسة المعلوماتية جامعة حمص، يهدف لمساعدة الطلاب في الدراسة ونشر المحاضرات والملفات الهامة دون مقابل.

Show more
The country is not specifiedEducation63 666
1 427
Subscribers
-124 hours
-37 days
-1330 days
Posts Archive
عدد الاسئلة المتأكد منها من 35
Anonymous voting

الشباب يلي كانت فاقدة الامل.. طمنونا عنكم😂

الحمد لله بين 20 الى 30 علامة اجت من الشغلات يلي موجودة ضمن القناة خصوصاً المؤشرات والملفات.. المفروض يلي شاف الشغلات يلي بعتناها يسكر هي الاسئلة طبعاً الشغلات ما اجت على حالها (ممكن افكار اسهل او على نمطها)

نؤكد على اهمية اطفاء أجهزتكم والمنبهات بشكل كامل قبل الدخول للقاعة الامتحانية هي شغلة بايدنا نحن… خلونا نوقفها لان عنجد مزعجة

برمجة -2 للموقع.pdf5.58 KB

🚨🚨🚨لا تنسوا إطفاء المنبهات وإطفاء أجهزتكم بشكل كامل قبل الدخول الى قاعة الامتحان

🚨🚨🚨للتذكير🚨🚨🚨
🚨🚨🚨للتذكير🚨🚨🚨

خرج الكود السابق:
Anonymous voting

#include <iostream> using namespace std; template<typename T> class Base { private: int y = 10; public: Base() { cout << "B"; } virtual int GetY() { return y; } virtual int GetM() = 0; void setVal(int a) { y = a; } virtual ~Base() {} }; template<typename T> class Derived : public Base<T> { private: int y = 20; int m = 100; public: Derived() { cout << "D"; } int GetY() override { return y; } int GetM() override { return m; } void setVal(int a) { y = a + 5; } }; int main() { Base<int>* ptr = new Derived<int>(); cout << " "; ptr->setVal(30); cout << ptr->GetY() << " " << ptr->GetM() << endl; delete ptr; return 0; }

بسم الله نجرب ننشر سؤال واحد الشرح عليكم او على الـ AI مارح نشرح شي😂

برمجة -2 للموقع.pdf5.58 KB

انظر إلى الكود التالي:
List<int>* ptr = new LinkedList<int>();
ptr->push(10);
ptr->push(20);
ptr->push(30);
cout << (*ptr)[1];
ما هو الخرج المتوقع؟ أ) 10 ب) 20 ج) 30 د) خطأ ترجمة لأن operator[] غير موجود في List الجواب الصحيح: ب

انظر إلى الكود التالي داخل صفّ LinkedList:
T pop() override {
    if (!end) throw runtime_error("Cannot pop from empty list");
    T value = end->data;
    LinkedListItem<T>* toDelete = end;
    if (start == end) {
        start = end = nullptr;
    } else {
        end = end->prev;
        end->next = nullptr;
    }
    delete toDelete;
    this->len--;
    return value;
}
ماذا يحدث إذا استدعينا pop() والقائمة تحتوي على عنصر واحد فقط؟ أ) يحدث خطأ تنفيذ (Runtime Error) ب) يتم حذف العنصر وتصبح start و end تساوي nullptr ج) يتم حذف العنصر لكن start تبقى تشير إليه د) لا يحدث شيء لأن الشرط if (start == end) غير صحيح الجواب الصحيح: ب

class List {
public:
    virtual void print() {
        cout << "List" << endl;
    }
};

class ArrayList : public List {
public:
    void print() override {
        cout << "ArrayList" << endl;
    }
};

int main() {
    List* ptr = new ArrayList();
    ptr->print();        // شو رح يطبع؟
}
الخرج : ArrayList الشرح : يتم استدعاء التابع print للصف الي يؤشر عليه المؤشر ptr وهو الابن Arraylist وبالتالي تنفيذ print تبعه (Ptr ) هو مؤشر من نوع list يشير إلى Arraylist

class List {
public:
    virtual void print() {
        cout << "List" << endl;
    }
};

class ArrayList : public List {
public:
    void print() override {
        cout << "ArrayList" << endl;
    }
};

int main() {
    List* ptr = new ArrayList();
    ptr->print();        // شو رح يطبع؟
}
الخرج : ArrayList الشرح : يتم استدعاء التابع print للصف الي يؤشر عليه المؤشر ptr وهو الابن Arraylist وبالتالي تنفيذ print تبعه (Ptr ) هو مؤشر من نوع list يشير إلى Arraylist

الكود الاول جوابه الخيار الثاني
الشرح : المدمر بالصفّ الأساسي List مش virtual. لذلك لما نعمل delete على مؤشر من نوع الأب، بينفذ مدمر الأب فقط، ومدمر الابن ما بينفذ.
الكود الثاني جوابه اول خيار
الشرح : لأن المدمر بالصفّ الأساسي virtual، عند عمل delete على مؤشر من نوع الأب، بينفذ أولاً مدمر الابن (ArrayList)، بعدين مدمر الأب (List).

A-ArrayList destructor List destructor B-List destructor C-List destructor ArrayList destructor D- خطأ ترجمة

#include <iostream> using namespace std; class List { public: virtual ~List() { cout << "List destructor" << endl; } }; class ArrayList : public List { public: ~ArrayList() { cout << "ArrayList destructor" << endl; } }; int main() { List* ptr = new ArrayList(); delete ptr; return 0; }

A-ArrayList destructor List destructor B-List destructor C-List destructor ArrayList destructor D- خطأ ترجمة

برمجة -2 للموقع.pdf5.58 KB