التواصل المباشر مع الادارة والاعضاء القدامى من خلال قناة التلغرام



العودة   :: vBspiders Professional Network :: > [ ::. قسم البرمجة ولغاتها .:: ] > قسم البرمجة الكائنية

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 03-05-2009, 11:03 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
 
الصورة الرمزية GoLdeN-z3r0
 

 

 
إحصائية العضو






GoLdeN-z3r0 غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
GoLdeN-z3r0 is on a distinguished road

افتراضي 2 - الباني Constructor و الهادم Destructor


الباني Constructor و الهادم Destructor

تحتاج المتحولات عادة لتهيئة قيم متحولاتها (حقولها) أو حجز مساحة ديناميكية من الذاكرة لبعض المؤشرات خلال عملية إنشاء الكائن وذلك ليصبح الكائن جاهزا للعمل ولا يتسبب بحدوث أي نوع من الاخطاء غير المتوقعة أثناء التنفيذ. فمثلا ما هي القيمة التي سنحصل عليها لو أننا في المثال السابق استدعينا المنهج ()area قبل استعداء المنهج ()set_values سنحصل ربما على نتائج غير محددة إذ لم نسند أي قيمة بعد للمتحولين xوy.
تقدم لنا الأصناف حلا لهذه المشكلة من خلال نوع خاص من المناهج يسمى الباني Constructor، وهو منهج خاص من مناهج الصنف يحمل نفس اسم الصنف تماما (بما في ذلك حالة الأحرف الصغيرة والكبيرة)، حيث يٌستدعى هذا المنهج الخاص آليا لدى إنشاء أي كائن من الصنف صاحب المنهج الخاص (سواء تم التصريح عن الكائن أو تم حجز كائن من هذا الصنف في الذاكرة عن طريق العامل new). لنعيد تعريف الصنف CRectangle من جديد مع بان له:
// classes example
#include <iostream.h>

class CRectangle {
int width, height;
public:
CRectangle (int, int);
int area (void) {return (width*height);}
};
CRectangle::CRectangle (int a, int b) {
width=a;
height=b;
}

int main() {
CRectangle rect (3,4);
CRectangle rectb (5,6);
cout<<"rect area:"<<rect.area()<<endl;
cout<<"rectb area:"<<rectb.area()<<endl;
}

Output:

rect area:12
rectb area:30

لاحظ تطابق نتيجة تنفيذ هذا البرنامج مع البرنامج السابق، فلقد استبدلنا استدعاء المنهج ()set_values (الذي لم يعد موجودا) بباني الصنف. ولاحظ أن مكان تمرير وسطاء الباني يكون في مكان إنشاء الكائن من الصنف المعني:
كود:
CRectangle rect (3,4);
CRectangle rectb (5,6);

ويجب أن تلاحظ ايضا عدم وجود قيمة معادة من الباني لا في ترويسته ولا في التصريح عنه(كتابة تعليماته) ولا حتى النمط void. وهذا شكل إجباري للباني، إذ لا يعيد الباني أية قيمة، كما لا نستطيع تحديد نمط الباني بأنه void تماما كما فعلنا في المثال السابق.

لننتقل الآن إلى الهادم Destructor الذي يقوم بعمل معاكس للباني، حيث يُستدعي آليا لدى الحاجة لتحرير كائن من الذاكرة، الأمر الذي يحدث سواء بسبب إنتهاء مجال رؤية الكائن (بعد انتهاء التابع الذي نصرح فيه عن مكان كائن محلي) أو بسبب تحرير الكائن المحجوز في الذاكرة الديناميكية باستخدام العامل delete.
يحمل الهادم نفس اسم صنفه تماما مسبوقا بالمحرف (~) ويجب ألا يعيد أية قيمة وليس له نمط للنتيجة.
نستفيد من الهادم بشكل رئيسي إذا احتاج الكائن لحجز ذاكرة ديناميكة خلال فترة حياته، إذ يجب علينا في اللحظة التي ننهي بها حياة الكائن تحرير أية ذاكرة حجزها ديناميكيا خلال فترة حياته. مثال:

// example on constructors and destructors
#include <iostream.h>

class CRectangle {
int *width, *height;
public:
CRectangle (int, int);
~CRectangle ();
int area (void) {retrun(*width * *height);}
};

CRectangle::CRectangle (int a, int b) {
width=new int;
height=new int;
*width=a;
*height=b;
}

CRectangle::~CRectangle() {
delete width;
delete height;
}

int main() {
CRectangle rect (3,4), rectb (5,6);
cout<<"rect area:"<<rect.area()<<endl;
cout<<"rectb area:" <<rectb.area()<<endl;
return 0;
}

Output:

rect area: 12
rectb area:30





2 - hgfhkd Constructor , hgih]l Destructor

   

رد مع اقتباس
قديم 03-05-2009, 11:58 PM   رقم المشاركة : 2 (permalink)
معلومات العضو
El3ctr0-Dz
.:IronMind:.
 
الصورة الرمزية El3ctr0-Dz
 

 

 
إحصائية العضو








El3ctr0-Dz غير متواجد حالياً

إرسال رسالة عبر MSN إلى El3ctr0-Dz إرسال رسالة عبر Skype إلى El3ctr0-Dz

 

 

إحصائية الترشيح

عدد النقاط : 10
El3ctr0-Dz is on a distinguished road

افتراضي


يا سلاااااااااام
و الله مبدع
بارك الله فيك

التوقيع

======================================
[+] Human Error Detected : Auto payload in progress
[+] Generating payload
[+] Sending evil packet
[+] Reverse shell initiated from 68.82.4.9
[+] id=0(root) gid=0(root) groups=0(root)
======================================
P4L 4 Ev3r

qib@hotmail.com

 

   

رد مع اقتباس
قديم 03-06-2009, 08:08 AM   رقم المشاركة : 3 (permalink)
معلومات العضو
 
إحصائية العضو







ابو بدر غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 11
ابو بدر is on a distinguished road

افتراضي


مشكوووووووووووووووووووور مبدع اخي الكريم

   

رد مع اقتباس
قديم 03-06-2009, 05:16 PM   رقم المشاركة : 4 (permalink)
معلومات العضو
 
إحصائية العضو






●๋•ஜ ⋋MATRX H@!L⋌ ஜ●๋• غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
●๋•ஜ ⋋MATRX H@!L⋌ ஜ●๋• is on a distinguished road

افتراضي


مشكوور يا بطــــل

التوقيع


أهلا وسهلا بكم في
VBSPideR
-

Xxدعنـي آرقص رقصة الموٍت بين يديكـxX

 

   

رد مع اقتباس
قديم 06-14-2009, 05:42 AM   رقم المشاركة : 5 (permalink)
معلومات العضو
 
إحصائية العضو







ابو بدر غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 11
ابو بدر is on a distinguished road

افتراضي


مشكوووووووووور اخوي والله يعطيك العافية

التوقيع

تم إعتزال الهكر نهائي
Skype:omar_28

 

   

رد مع اقتباس
قديم 06-27-2009, 12:47 PM   رقم المشاركة : 6 (permalink)
معلومات العضو
 
الصورة الرمزية data$hack
 

 

 
إحصائية العضو







data$hack غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
data$hack is on a distinguished road

افتراضي


شكري لك يالغالي وواصل ابداعك

التوقيع


data$hack : EIP HUNTER


Ninja-security team
http://Pentest101.blogspot.com

 

   

رد مع اقتباس
قديم 07-20-2011, 08:58 PM   رقم المشاركة : 7 (permalink)
معلومات العضو
المفترس
:: مهووس الكمبيوتر ::
 
الصورة الرمزية المفترس
 

 

 
إحصائية العضو





المفترس غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
المفترس is on a distinguished road

افتراضي


مشكوووووووووووووووووووور اخي

التوقيع

Almoftarse over from here

تم ترك الهاكر والبرمجة وكل ما يخص الكمبيوتر لمدة عام

لا يوجد في هدا العالم صداقة الا صداقة الوالدين وبعدين صداقة العقل وبعدهما صداقة المال والنفود

 

   

رد مع اقتباس
قديم 08-04-2011, 09:34 PM   رقم المشاركة : 8 (permalink)
معلومات العضو
 
إحصائية العضو





مہہسہہتر قہہروشہہة غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
مہہسہہتر قہہروشہہة is on a distinguished road

افتراضي


يعطيك العافيه

   

رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع


الساعة الآن 10:17 AM


[ vBspiders.Com Network ]

SEO by vBSEO 3.6.0