No video
#07 [oop] - New Delete
كورس البرمجة الكينونية باستخدام لغة البرمجة سي بلس بلس:
أداة New وأداة Delete
Course Object-Oriented Programming Using C++:
New - Delete
--
Material: adelnasim.com/...
المادة: adelnasim.com/...
رابط المجموعة: / 281852196102657
-
If you like my content, buy me a cup of coffee: www.buymeacoff...
دعم القناة: adelnasim.com/...
Пікірлер: 153
والله يا أخ عادل هنا انت كفيت و وفيت في شرح البوينتر. الله يرحم البطن اللي جابتك.
@AdelNasim
7 жыл бұрын
الله يسعدك .. يا رب .. وان شاء الله انكون عند حسن ظنك ..
Der beste Informatik_Totur der Welt Danke dir sehr und möge Allah dich mit Gutem belohnen! 🇩🇪 #سوري
@AdelNasim
4 жыл бұрын
Vielen Dank für Ihre Komplimente, viel Glück :)
الله يجزيك كل خير ولله فرحتني الدكتور بل جامعه ٣ ساعات يشرح فيهم وانا مافهمت وانت بنصف ساعه شرحت كلشي وفهمت كلشي عليك حبيبي ولله شكرا كثير استمر
السلام عليكم شكراً استاذ عادل الشرح واضح وافي وكافي 100% برمجياً لكن يا حبذا لو تكلمنا عن التطبيق العملي( يعني بنستفيد منه في تصميم موقع انترنت أو ننشئ تطبيق أو.....) لكل شيء عشان يكون منطقي أكثر وأسهل للفهم
ما شاء الله شرحك رائع جداً وانا متابعك بشكل كبير بس بصمت الله يسرلك وتابع الى الامام
:( جزاك الله خير.....ايست من ان انجح لو لا شرحك.... لو كل الاساتذة تشرح مثلك محد يرسب
@AdelNasim
7 жыл бұрын
الله يقويك .. ويفتحها بوجهك وشكرا على المشاهدة صديقي
What a great explanation 🧡💛
رائع يا عادل اروع تفسير شفت الله يبارك فيك
@AdelNasim
6 жыл бұрын
الله يحفظك... وشكرا على المتابعة ..
ياريت تضيف لهالقائمة فيديو يتضمن مجموعة امثلة غير محلوله نحن الي نحلها ونطبق الي درسناه بلييز ..
الله يجزيك الخير ويسعدك ويرزقك عادل بيك مشاء الله عنك ما قصرت يا زعيم
what deference between memory location and location of variable
ايه الفرق بين ان البوينتر يطبع p و ان يطبع &p الاتنين إدريس بس ايه الفرق بين الاتنين و القيم متغيره
@AdelNasim
4 жыл бұрын
موقع p لحالو رح يجيب الـ address الخاص بالمتغير الي نربط في مؤشر الـ p لكن p& رح يجيب الـ address الخاص بـ مؤشر الـ p نفسو اذا ما وضحت اعملي run للكود #include using namespace std; int main() { int x = 0; int * p; p = &x; cout
حماك الله استمر
@AdelNasim
7 жыл бұрын
يسعدك .. 💓
والله الفيد دا كنز تسلم ايدك
جزاك الله كل خير
@AdelNasim
4 жыл бұрын
اجمعين يارب
الله يعطيك ألف عافية شرح ممتاز ومفصّل ياريت تعمل متلن لل java او اي لغة تانبة
@AdelNasim
5 жыл бұрын
يعافي عمرك .. اكيد ان شاء الله ..
يعطيك العافية يسلموا كتير على مجهودك 🌹🌹
تحية لك من المغرب رغم انني ادرس بالفرنسية الا ان شرحك رااااااائع جدا
@AdelNasim
5 жыл бұрын
حياك الله انت وكل المغرب .. اشكرك على الشهادة الرائعة .. وبالتوفيق الك ..
الله يجزاك خير الجزاء
يعطيك العافية بس ليش لنهيئ مكان لل pointer كان فينا دغري نصرح عنه متل العادة وليش استخدمنا delete ؟ مشان المساحة بالذاكرة يعني ؟
جزك الله خير
@AdelNasim
5 жыл бұрын
وإياك يا رب .
ما شاء الله لقيت طلبي أخيرا 😂
شكرا جزيلا
@AdelNasim
4 жыл бұрын
حياك الله، بالتوفيق
شكرًا
@AdelNasim
6 жыл бұрын
العفو .. وبالتوفيق ..
ياخي والله هكرت الاوبجكت معك يسعد دينك 😂🤍
شكرا انت ممتاز.
@AdelNasim
4 жыл бұрын
حياك الله، بالتوفيق
you are one of the best, Thank you!
@AdelNasim
4 жыл бұрын
Thanks for your support, good luck :)
You are my savior ❤❤ thank u so much
الله يجزاك خير مقصرت
شكرًا مرررة الله يسعدك
rectangle:: rectangle(int a,int b) { width=new int; height=new int ; *width=a; *height=b; } طيب ايه اللى هيحصل لو اديتا البوينتر عناوين المتغيرات نفسها مثلا rectangle:: rectangle(int a,int b) { width=&a; height=&b ; *width=a; *height=b; }
@ahmedismail1018
7 жыл бұрын
بلاقى بيدينى قيم حربطه ليه
الله يسهلك يارب
الله ينور والله
طيب وليه استخدم البوينتر ما اخش دوغري علطول واغير ف المتغير براحتي
لو سمحت سؤال بأثر لوكتبت تابع area ل body تبعو تحت ل class...مو جواتو؟
شكراً جداً عاوز اعرف الفرق بين location of pointer و memory location
@AdelNasim
5 жыл бұрын
العفو .. حاول شوف الرابط www.geeksforgeeks.org/pointers-vs-references-cpp/
#include #include #include using namespace std; int main(){ int*ptr; int x=10; ptr=&x; *ptr=2000; x=5868; cout
@AdelNasim
7 жыл бұрын
تقريبا ... البوينتر الو عنوان خاص فيه .. واذا تم ربطه بعنوان متغير .. اصبح يملك عنوان البوينتر نفسو بالاضافة لعنوان المتغير الذي.تم ربطه بالبوينتر ..
Great
@AdelNasim
5 жыл бұрын
Good luck :)
السلام عليكم ورحمة الله وبركاته أوقات وقت منحط متغير لحاله بالطباعة بيطبع عنوان وأحياناً. بيطبع قيمة كيف بدي اعرف شو ناتج الطباعة؟
مشكور لشرحك الحلو بس اشون اخليه يبع الخواص بعدين ضرب مالهم يعني اريد اطبع الكل الول و العرض ثم الضرب
استاذ عادل ماشاء الله عليك ربنا يكتبها في ميزان حسناتك // عندي سؤال الله يسعدك لحد الان مفهوم النيو مافهمت الفائدة وعدت المحاضرة ومتشتت هل ممكن شرح مختصر أو ممكن استخدام النيو في ايش؛
@karimmuhammad7051
2 жыл бұрын
تستخدم ال new لارجاع عنوان من الذاكرة int *ptr = new int; الناحية اليمين هترجعلي عنوان والعنوان دا هيتخزن داخل حاوية العنواين فقط ولما أحب اتعامل مع العنوان دا اتعامل معاه بواسطة ال مؤشر هتتعب شوية عشان تفهم المؤشرات طبيعي خالص
رائع
كيف ممكن احصل على المصدر oop
شنو سبب خروج الfunction خارج ال class؟ ممكن جواب ؟ السوال على اخر الفيديو
عند عمل int *p; p = new int ; تم نعطي قيمة 10 متلا *p = 10; هل يتم حجز مكان جديد بال Memory ? لاني لم افهم بالشرح لمذا اعطانا عنواني ادريس مختلفين لما عملنا cout ل *p و p لوحدها THANK YOU
@AdelNasim
4 жыл бұрын
new int حجزنا مكان بالـ Memory اما محتوى هذا المكان تم تعبئته عن طريق *p=قيمة معينة بالتوفيق الك
يا شيخ الله يديك العافية .. ايش الفرق بين استخدام المغتيرات و المؤشرات ؟
@karimmuhammad7051
2 жыл бұрын
المتغيرات تكون محدودة في المجال الي اتعرفت فيها وبالتالي متقدرش تغير في محتواها خارج النطاق بتاعها انما بال مؤشرات والمراجع (pointers, reference) : تقدر ت access علي المتغيرات المحلية وتغير في قيمتها من داخل دوال مثلاً وينصح عموما بال reference وليس ال pointer لسهولتها وأمانها ولكن الpointer تستخدم في معظم الاوقات في الData structure مثل (LinkedList, ...)
28:15 هلق ليش ما بتزبط اذا ربطناهم بعناويين a b بغض النظر عن الدستراكتر جربتها بس صار يعطيني ارقام عشوائية crectangle::crectangle(int a, int b) { width = &a; height = &b; }
@AdelNasim
4 жыл бұрын
نفذ المثال رح تفهم كلشي ان شاء الله #include using namespace std; class crectangle { public: int* width; int* height; crectangle(int w, int h) { width = &w; height = &h; *width = w; *height = h; } }; int main() { crectangle obj(5,3); cout
شكرا ليك اخي بس انا عندي مشكلة في (CRectangle::CRectangle(int a , int b r يقول لي expected premiry-expression before int '
@AdelNasim
5 жыл бұрын
العفو الخطأ عند تعريف الـ parameter واتحديدا في كتابة اسم المتغير ..
merciiiiiiiii
@AdelNasim
5 жыл бұрын
u welcome
thx
يعطيك الاعافية استاذ عادل ما فهمت الفرق الحقيقي بين int *p p=new int
@AdelNasim
5 жыл бұрын
العفو .. بنصحك تشوف هالفيديو kzread.info/dash/bejne/mGt9lsWnepixetI.html
@jawadnassar2986
5 жыл бұрын
مشكور يسلم دياتك
لو سمحت في اخر مثال ليه حطينا جوه الdestructor امر delete width ,delete height ..مش كده كده الdestructor حيمسح اي object من الmain?
@AdelNasim
4 жыл бұрын
فقط ال object النشط .. هو فعليا بيمسح القيم الي كانت محجوزة بال memory .. بمعنى بعمل format لل object مع العلم باقي اللغات الحديثة مش بحاجة لأمر ال delete كونو عملية ال format تتم automatic
@nadafathy4359
4 жыл бұрын
@@AdelNasim جزاك الله خيرا استاذي.. يعطيك الف عافية
@AdelNasim
4 жыл бұрын
اجمعين يا رب .. بالتوفيق الك
هل البوينتر لما يكون مش مربوط مع عنوان متغير اي مهمل بالذاكرة زي ما حكيت رح يوخذ مساحه ؟
love you
سوال لو انا استدعين داله الكونستركت لازم استدهى داله الهدم ولا دى بتتعمل اوتوماتيك
مش عمليه التهيئة بتتعمل عشان اسناد variable لل pointer طب مانا عندي variable a,,b كان ممكن اسنده علطول *width =a; *length =b;
@AdelNasim
5 жыл бұрын
ما فهمت صديقي ممكن توضح..!
@ahmedhamza9277
5 жыл бұрын
@@AdelNasim يعني ليه معملتش *width =a; علطول لماذا يجب ان اهيئه اولا لاني عندي variable
@AdelNasim
5 жыл бұрын
الفكرة انو اعلمك تدريجيا كيف تتعامل مع المؤشرات لانو بالكورس الي بعدو رح تحتاجهم بكل درس تقريبا ..
@ahmedhamza9277
5 жыл бұрын
@@AdelNasim شكرا فهمت من التعليقات شكرا جزيلا علي هذا الكورس
@AdelNasim
5 жыл бұрын
العفو .. وبالتوفيق الك صديقي ..
استاذ عادل لما جيت اربط البوينتر ب void ال compiler عطاني error ما بعرف ليش
when i give void main() i become error i must it to change to int ? do you know why?
@AdelNasim
7 жыл бұрын
This issue belongs to the compilers you use, whether it's a generation visual , or dev ..etc..
@ahmedismail1018
7 жыл бұрын
انا استخدم كود بلوك
ايش لازمة اللفة بالبوينتر ، انا الى الان مش فاهم ليش عملو البوينتر ، بدي مثال بزبطش حلو الا بالبوينتر
@AdelNasim
4 жыл бұрын
اهلا صديقي, الفائدة الحقيقية من البوينتر ما رح تلمسها في هذا الكورس رح تلمسها بكورس الـ Data structures ان شاء الله
طيب مستخدم الفيربلز العاديه يعني ايه الاستفادة من البيونتر ده .واستعمله ليه مع أن نفس وظيفة الفيربلز. يعني ايه السيناريو الي لازم احتاجه فيه. شكرا على الشرح الرائع
@AdelNasim
5 жыл бұрын
ما رح تلاحظ الفائدة الحقيقية في هذا الكورس .. بعدو رح رح توخد كورس الداتا ستركشر ورح توضح الفكرة منو اكثر .. كل التوفيق الك
البرامج الي بتكتبها بتقدر تبعثلنا ياها ؟
اخ عادل كيف يعني هيئت والله اشي بعجق عند نيووو
@AdelNasim
5 жыл бұрын
هلا اخ خليل .. المقصد من التهيئة .. انو انا ما بقدر استفيد من ال Pointer ولا اسندلوا قيمة .. إلا بعد ما اربط هذا المؤشر .. اما عن طريق عنوان متغير .. او عن طريق ال New الخلاصة عند تعريف اي Pointer المفروض اهيئلو بإستخدام ال New ليش اهيئو عشان اقدر اعطيه قيمة .. مثال int* ptr = 100; هذا السطر خطأ لانو ما بقدر اعطي البوينتر قيمة مباشرة .. لازم اقول .. ptr = new int بعدها انا بصير قادر اسندلو قيمة زي ما شفت بالفيديو .. واذا ما افهمت .. اتوقع في عندك مشكلة في فهم ال Pointers في درسين بكورس ال C++ بتشرح الموضوع بالتفصيل .. حاول شوفهم اذا ضل عندك مشاكل
@kahlildiab3273
5 жыл бұрын
@@AdelNasim شكرا اخ عادل فهمتها بعد ما شرحت عن بوينتر كل حب والأحترام بس اذا ممكن الفيس تبعك نتواصل مع بعض يا اخوي ##########.............
@AdelNasim
5 жыл бұрын
الله يزيدك من علمو .. بنفس الاسم صديقي ..
طب شو الهدف من اني استخدم ال new & delete في ال class وانا بقدر احط متغير عادي ؟
@minamakram7164
Жыл бұрын
يديك حرية فى ال memory أكثر انك تمسح ال pointer بعد الانتهاء من استخدامه
الب ارسلان حلقه ٥٣
هل يكمننا إنشاء data type من نوع pointer ????
@AdelNasim
6 жыл бұрын
قصدك اعررف بوينتر ماخذ قيمتو من بوينتر آخر ؟! اذا كان هيك قصدك شوف هالمثال .. www.tutorialspoint.com/cplusplus/cpp_pointer_to_pointer.htm
@TidelxD
6 жыл бұрын
Adel Nasim قصدي كيف ننشء سلسلة من المؤشرات مثلا struct يحمل جواتو value من نوع مؤشر بالفرنسية نقول list chainée
@AdelNasim
6 жыл бұрын
تمام .. هذا رح يكون معظم شغلنا بدورت الداتا ستركشر .. بس اذا حاب تشوف مثال حاكي انا عنو بدس ال structure الخاص بدورة السي بلس بلس .
@TidelxD
6 жыл бұрын
Adel Nasim اين دورة الداتا ستركتر ؟؟ على قناتك موجودة ؟
@AdelNasim
6 жыл бұрын
قيد الانشاء صديقي ..
عندي من اخلي void main ياشر ايرر بس من اسويها int main يشتغل الكود شنو سبب؟ وهل تاثر على الكود
@raya1892
Жыл бұрын
نفس الشي لكن اذا void لازم تشيل return 0
طيب ليش لما احط ال base=&b بدل الbase= new int بعطيني جواب مختلف بتمنى ترد كل الاحترام
@AdelNasim
6 жыл бұрын
اهلا صديقي .. يا ريت تكتبلي المثال الي عندك كامل عشان اجابتي تكون ادق الك ..
@amromohmmad6579
6 жыл бұрын
انا قصدي ليش اذا حطيت بدل ال base =new int احط base =&b نفس المثال الي انت عامله بطلعلي جواب مختلف
@AdelNasim
6 жыл бұрын
اكيد رح يختلف لانو بطبيعة الحال بالاصل لما يكون في عندي متغير بين اقواس الفنكشن رح ينحجزلو مكان بالذاكرة مختلف عن المتغير الي رح ابعثو بالـ Main إلا اذا بعثت المتغير لحظة بناء الفنكشن Call By Ref هون بعتبرهم نفس الموقع لكن حتى لو جربتها بالـ Call By Ref رح تعطيك خطأ بتمنى تكون افهمت شو بقصد .. الخلاصة خليك عالـ new
@amromohmmad6579
6 жыл бұрын
Adel Nasim اشكرك
@amromohmmad6579
6 жыл бұрын
Adel Nasim في نية تعمل كورس خوارزميات وتراكيب البيانات ولا لا
Alp arslan
يعطيك العافية 🙆 هسا بس عملنا cout ل &p1 و p1 طبع عنوانين مختلفين ؟ ليش ؟ صح الثنتين مقصود فيهم عنوان البوينتر ! *الدقيقة 23*
@AdelNasim
7 жыл бұрын
الله عافيكي .. لا هوة المسألة قريبة شوي ... ركزي معي هلا بالـ p1 لو تلاحظي احا ربطاها بالـ new يعني لما اطبع p1 رح يطبع الموقع الي حجزتلو ياه عن طريق الـ new يعني حيطبع الـ new نفسها اما لما اطبع الـ &p رح يطبع الموقع الخاص بالـ p مش بالـ new
@bebo5605
7 жыл бұрын
Adel Nasim اه..اه .. فمهت عليك يعني موقعين مختلفين .. يسلمووو
@AdelNasim
7 жыл бұрын
يا هلا
@walayyoub
6 жыл бұрын
الله يعطيك العافية هذا نفس السؤال الي اجا ببالي ..تكمله على السؤال نفسه انا رجعت حطيت ال p1 مكان ال new ليش ما حط p1 بنفس موقع new
@zeyadhessien5557
2 жыл бұрын
@@AdelNasim ما فى منك
طيب ليش ما استعملنا new مع الarea فنكشن ؟
انا لما بعمل delete بيطبع بردو القيمة
هو في فرق بين p&وال p بس؟
@AdelNasim
6 жыл бұрын
تابع الرد على تعليقات الاخت Abeer ..
@yousefsalamh6576
5 жыл бұрын
@@AdelNasim ايش الفرق هذا نفس سوالي اي تعليق قرأت كل التعليقات يا ريت تجاوبنا هون اخ عادل وشكرا ألك
@AdelNasim
5 жыл бұрын
كان الرد : .. المسألة قريبة شوي ... ركز معي هلا بالـ p1 لو تلاحظ احنا ربطاها بالـ new يعني لما اطبع p1 رح يطبع الموقع الي حجزتلو ياه عن طريق الـ new يعني حيطبع الـ new نفسها اما لما اطبع الـ &p رح يطبع الموقع الخاص بالـ p مش بالـ new
@yousefsalamh6576
5 жыл бұрын
Adel Nasim يعني المقصود هون انو في الحالتين طبع address الخاص في البيونتر لكن في حاله الاولي new طبع العنوان الاول الخاص في new مكان فاضي بذاكره وبالحاله ثانيه لما اعملت اسناد للقيمه ١٠ تغير مكان بوينتر بذاكره وصار ايشر عمكان جديد بذاكره هيك صح ؟
@AdelNasim
5 жыл бұрын
كلام سليم ..
استاذ عادل ممكن سؤال جدا ضروري ؟
@AdelNasim
4 жыл бұрын
تفضلي
@ramayag2785
4 жыл бұрын
@@AdelNasim #include class Pair { public: int *pa,*pb; Pair(int, int); Pair(const Pair &); ~Pair(); }; Pair::Pair(int a,int b) { pa=new int; *pa=a; pb=new int; *pb=b; } Pair::Pair(const Pair &other) { ؟؟؟؟؟؟؟؟؟؟؟؟ } Pair::~Pair() { delete pa; delete pb; } /* Here is a main() function you can use * to check your implementation of the * class Pair member functions. */ int main() { Pair p(15,16); Pair q(p); Pair *hp = new Pair(23,42); delete hp; std::cout
@AdelNasim
4 жыл бұрын
Pair::Pair(const Pair& other) { pa = new int; pb = new int; *pa = *other.pa; *pb = *other.pb; }
عندي سؤال بالبرمجة ضروري كتير كيف فيني اسئل
اطبق علي الشرح دا منين
@AdelNasim
6 жыл бұрын
طبق على اي IDE بدعم اللغة .. والسبب اني مش حاط الامثلة بالوصف .. اني حاب تطبق بايدك .. عشان الي بتكتبو يرسخ ببالك ..
@elzeroquantumschool1607
5 жыл бұрын
I am using DCoder It is android app to run it on cell phone m.facebook.com/story.php?story_fbid=570465633406459&id=100013290817804
ليش ماكو اكثر من مثال 😔
@AdelNasim
6 жыл бұрын
الفكرة الاساسية عندك.. ممكن تعديل بالكود وتجربة شو بطلع معك ..يكون احسن مثال .. بالتوفيق
@asaweralward7281
6 жыл бұрын
@@AdelNasim صح والله .من هذه الفيديوهات استفدت ونجحت جنت اصلا ماعندي اساسيات للبرمجه.
ليش هون خطأ int x=7; int *p; p=&x; delete p; cout