السلام عليكم
الحلقة الثانية - الجزء الثاني.
الحلقة الثانية - الجزء الثالث.
الحلقة الثانية - الجزء الرابع.
الحلقة الثانية - الجزء الخامس.
الحلقة الثانية - الجزء السادس و الأخير.
الحلقة الثالثة - الجزء الثاني.
الحلقة الثالثة - الجزء الثالث.
الحلقة الثالثة - الجزء الرابع.
الحلقة الثالثة - الجزء الخامس و الأخير.
الحلقة الرابعة - الجزء الثاني.
الحلقة الرابعة - الجزء الثالث.
الحلقة الرابعة - الجزء الرابع.
الحلقة الرابعة - الجزء الخامس.
مرحبا بكم إخوتي الكرام في الجزء السادس من الحلقة الرابعة من سلسلة اختبر قدراتك, قمتُ بتقسيم الحلقة الرابعة إلى عدة أجزاء, مُرتبة حسب الصعوبة.
أجزاء هذه الحلقة ستكون خاصة بمسائل الــ OOP.
الإختبار الرابع (الجزء السادس) :
1. خمن مُخرجات الكود التالي : (يُمنع استخدام الــ Compiler)
#include <iostream>
using namespace std;
class point {
int x, y;
public:
point(int abs = 0, int ord = 0) // constructeur 0, 1 ou 2 arguments
{
x = abs;
y = ord;
cout << "$$ construction point : " << x << " " << y << endl;
}
friend point operator +(point, point); // point + point --> point
void affiche() {
cout << "Coordonnées : " << x << " " << y << endl;
}
};
point operator+(point a, point b) {
point r;
r.x = a.x + b.x;
r.y = a.y + b.y;
return r;
}
int main() {
point a, b(2, 4);
a = b + 6; // affectation 1
a.affiche();
a = 6 + b; // affectation 2
b.affiche();
return 0;
}2. نفس السؤال باعتبار أنه تمت إعادة تعريف المؤثر + كدالة عضو (Member function) و ليس دالة صديقة (Friend function) ؟
3. نفس السؤال باعتبار أنه تمت إعادة تعريف المؤثر + هكذا :
friend point operator + (point &, point &) ;
4. نفس السؤال باعتبار أنه تمت إعادة تعريف المؤثر + هكذا :
friend point operator + (const point &, const point &) ;
سأضع حل السؤال بعد إنتهاء عرض المحاولات.