الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اختبر قدراتك في C/CPP - الحلقة الرابعة, الجزء التاسع

مغلق
بدأه Snack3r في 14 سبتمبر 2012 · 2 رد · 552 مشاهدة · في اختبر قداراتك
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

الحلقة الأولى.

الحلقة الثانية - الجزء الأول.

الحلقة الثانية - الجزء الثاني.

الحلقة الثانية - الجزء الثالث.

الحلقة الثانية - الجزء الرابع.

الحلقة الثانية - الجزء الخامس.

الحلقة الثانية - الجزء السادس و الأخير.

الحلقة الثالثة - الجزء الأول.

الحلقة الثالثة - الجزء الثاني.

الحلقة الثالثة - الجزء الثالث.

الحلقة الثالثة - الجزء الرابع.

الحلقة الثالثة - الجزء الخامس و الأخير.

الحلقة الرابعة - الجزء الأول.

الحلقة الرابعة - الجزء الثاني.

الحلقة الرابعة - الجزء الثالث.

الحلقة الرابعة - الجزء الرابع.

الحلقة الرابعة - الجزء الخامس.

الحلقة الرابعة - الجزء السادس.

الحلقة الرابعة - الجزء السابع.

الحلقة الرابعة - الجزء الثامن.

مرحبا بكم إخوتي الكرام في الجزء التاسع من الحلقة الرابعة من سلسلة اختبر قدراتك, قمتُ بتقسيم الحلقة الرابعة إلى عدة أجزاء, مُرتبة حسب الصعوبة.

أجزاء هذه الحلقة ستكون خاصة بمسائل الــ OOP.

الإختبار الرابع (الجزء التاسع) :

ما هي مُخرجات الكود التالي : (يُمنع استخدام الــ Compiler)

#include <iostream>
using namespace std;

class A {
    int n;
    float x;
public:

    A(int p = 2) {
        n = p;
        x = 1;
        cout << "** construction objet A : " << n << " " << x << endl;
    }
};

class B {
    int n;
    float y;
public:

    B(float v = 0.0) {
        n = 1;
        y = v;
        cout << "** construction objet B : " << n << " " << y << endl;
    }
};

class C : public B, public A {
    int n;
    int p;
public:

    C(int n1 = 1, int n2 = 2, int n3 = 3, float v = 0.0) : A(n1), B(v) {
        n = n3;
        p = n1 + n2;
        cout << "** construction objet C : " << n << " " << p << endl;
    }
};

int main() {
    C c1;
    C c2(10, 11, 12, 5.0);
    return 0;
}

علل إجابتك !

سأضع حل السؤال بعد إنتهاء عرض المحاولات.

#2

مجرد محاولة/

C c1;

سينتج عنها:

** construction objet A : 1 1
** construction objet B : 1 0
** construction objet C : 3 3

C c2(10, 11, 12, 5.0);

ينتج عنها:

** construction objet A : 10 1
** construction objet B : 1 5
** construction objet C : 12 21

[سبحان الله و بحمده, سبحان الله العظيم]

#3

صحيح :)

تم إنشاء الكائن c1 عن طريق الإستدعاء المتتابع لدالة بناء الفئة B ثم A.

عند إنشاء c1 احتفظ المشيد بالقيم الافتراضية على عكس ما حصل مع c2.

المُخرجات هي :

** construction objet B : 1 0

** construction objet A : 1 1

** construction objet C : 3 3

** construction objet B : 1 5

** construction objet A : 10 1

** construction objet C : 12 21

تم منح النقاط للمشاركات المفيدة.

يُغلق.

أراكم في الجزء العاشر من الحلقة الرابعة.

هذا الموضوع مغلق.

مواضيع مشابهة