أنت مكلف بتنفيذ نظام مصرفي يسمح للعملاء بامتلاك حسابات مصرفية متعددة.

لقد تم تزويدك بمقتطف التعليمات البرمجية الذي يتضمن فئة "العميل" ووظيفتي عضو: "add_account" و"المشغل<<`. تأخذ وظيفة `add_account` مؤشرًا فريدًا إلى كائن `BankAccount` وتضيفه إلى متجه الحسابات المملوكة للعميل. تعمل وظيفة `المشغل<<` على تحميل عامل التشغيل `<<` بشكل زائد لطباعة كائن `العميل` إلى دفق الإخراج.

مهمتك هي إكمال تنفيذ فئة "العميل" وتوفير التنفيذ المفقود لفئة "BankAccount".

لقد تم بالفعل تعريف فئة "BankAccount" في مكان آخر ويمكنك افتراض صحتها. يحتوي على عامل تشغيل مناسب `<<` يقوم بتنسيق معلومات الحساب للطباعة على دفق الإخراج.

تحتاج إلى تنفيذ ما يلي:

- يجب أن تحتوي فئة "العميل" على متغير عضو خاص "حسابات"، وهو عبارة عن ناقل لمؤشرات فريدة لكائنات "حساب البنك".
- يجب أن تأخذ وظيفة `add_account` مؤشرًا فريدًا إلى كائن `BankAccount` وتضيفه إلى متجه `الحسابات`.
- يجب أن تتكرر وظيفة `عامل التشغيل<<` عبر ناقل `الحسابات` وتستخدم عامل التشغيل `<<` لكل كائن `BankAccount` لطباعة معلومات الحساب، مفصولة بأحرف سطر جديد.

يجب أن يستوفي التنفيذ الخاص بك المتطلبات التالية:

- يجب أن تقوم فئة "العميل" بإدارة ملكية كائنات "الحساب البنكي" وعمرها بشكل صحيح.
- يجب طباعة كائنات `BankAccount` بشكل صحيح بواسطة الدالة `عامل التشغيل<<`.

يجب أن تفترض أنه تم تضمين الرؤوس ومساحات الأسماء الضرورية.

قم بتوفير التنفيذ الخاص بك لفئة `العميل`، بما في ذلك وظيفة العضو المفقودة وعامل التشغيل `<<` المحمل بشكل زائد كما هو مذكور في مقتطف الكود المقدم.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}