ahmed.o.mohamed

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

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

السلام عليكم

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

الإختبار الرابع (الجزء الثاني عشر) :

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

#include <iostream>
using namespace std;

class point {
int x, y;
public:

point(int abs = 0, int ord = 0) {
x = abs;
y = ord;
}

virtual void identifie() {
cout << "Je suis un point " << endl;
}

void affiche() {
identifie();
cout << "Mes coordonnées sont : " << x << " " << y << endl;
}
};

class pointcol : public point {
short couleur;
public:

pointcol(int abs = 0, int ord = 0, int cl = 1) : point(abs, ord) {
couleur = cl;
}

void identifie() {
cout << "Je suis un point coloré de couleur : " << couleur << endl;
}
};

int main() {
point p(3, 4);
pointcol pc(5, 9, 5);

p.affiche();
pc.affiche();
cout << "---------------" << endl;

point * adp = &p;
pointcol * adpc = &pc;
adp->affiche();
adpc->affiche();
cout << "---------------" << endl;

adp = adpc;
adp->affiche();
adpc->affiche();

return 0;
}

علل إجابتك !

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

0

شارك هذا الرد


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

تخمين/

Je suis un point 
Mes coordonnées sont : 3 4
Je suis un point coloré de couleur : 5
Mes coordonnées sont : 5 9
---------------
Je suis un point
Mes coordonnées sont : 3 4
Je suis un point coloré de couleur : 5
Mes coordonnées sont : 5 9
---------------
Je suis un point coloré de couleur : 5
Mes coordonnées sont : 5 9
Je suis un point coloré de couleur : 5
Mes coordonnées sont : 5 9

تم تعديل بواسطه khatibe_30
0

شارك هذا الرد


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

بالضبط, لكن احرص على إدراج التعليل في المرات القادمة :)

التعليل :

عندما يتم استدعا الدالة affiche من طرف كائن من نوع pointcol فإن الدالة المُستدعاة ستكون affihche الموجودة في point لأن الأخيرة لم تتم إعادة تعريفها في pointcol. في هذه الحالة ستقوم affiche باستدعاء identifie الموجودة في pointcol.

و بطبيعة الحال عندما يتم استدعاء الدالة affiche من طرف كائن من نوع point فإن الأخيرة تستدعي الدالة identifie التابعة لــ point.

المُخرجات :

Je suis un point

Mes coordonnées sont : 3 4

Je suis un point coloré de couleur : 5

Mes coordonnées sont : 5 9

---------------

Je suis un point

Mes coordonnées sont : 3 4

Je suis un point coloré de couleur : 5

Mes coordonnées sont : 5 9

---------------

Je suis un point coloré de couleur : 5

Mes coordonnées sont : 5 9

Je suis un point coloré de couleur : 5

Mes coordonnées sont : 5 9

0

شارك هذا الرد


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

تم منح النقاط للمشاركات المفيدة و حذف الردود الغير مفيدة, حفاظا على تنسيق الموضوع.

يُغلق.

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

0

شارك هذا الرد


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

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

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