ahmed.o.mohamed

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

3 ردود في هذا الموضوع

السلام عليكم

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

أجزاء هذه الحلقة ستكون خاصة بمسائل الــ 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;
}

علل إجابتك !

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مجرد محاولة/

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

صحيح :)

تم إنشاء الكائن 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

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

يُغلق.

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .