الوحدة الرابع ::: من الدروس

محتويات الوحدة
 
دالة البناء
دالة الهدم
أمثلة
خواص الدوال
دالة تستخدم المعاملات
 
 
 
 
 
 
 
وحدات اخرى
 
  الوحدة الأولى
  الوحدة الثانية
  الوحدة الثالثة
  الوحدة الرابعة
  الوحدة الخامسة
  الوحدة السادسة
  الوحدة السابعة
  الوحدة الثامنة
  الوحدة التاسعة
  الوحدة العاشرة
  الوحدة الحادية عشر
  الوحدة الثـانية عشر
  الوحدة الثالثة عشر
  الوحدة الرابعة عشر
  

 مواقع أخرى

 

الأخبار

 
  الجزيرة
  العربية

  BBC عربي

  CNN عربي

 

الصحف

 

  الحياة
  الوطن
  القدس العربي
  الشرق الأوسط

 

 الجامعات

 
  جامعة أم القرى
  جامعة الملك فهد

  جامعة الملك سعود

  جامعة الملك عبد العزيز  

 

الرياضة

 
  شبكة الزعيم
  منتديات مدريدي

 

 

 
 


الوحدة الرابعة

دوال البناء والهدم  

  Constructor and Destructor Functions

   
 دالة البناء:-

 هي عبارة عن دالة تنفذ تلقائيا عند تشغيل البرنامج من غير أي استدعاء.

أو بصورة أخرى:-

هي عبارة عن دالة يتم استدعاؤها مباشرة عند اشتقاق كائن من صنف معين وتستخدم لإعطاء خصائص الصنف قيم ابتدائية

ملاحظة:-

Classsدالة البناء يجب أن تملك نفس اسم الصنف

 

 

 
 

 أعلى

 

 

   

دالة الهدم:-

هي عبارة عن دالة يتم استدعاؤها مباشرة  عند اشتقاق كائن من صنف ولكن عند نهاية البرنامج.

خواص دوال البناء والهدم:-

1.   تحمل نفس اسم الصنف  ولكن دالة الهدم تسبق بعلامة   (~)

2.  يتم تعريفهم في مستوى الحماية العام public.

3.   يمكن إنشاء أكثر من دالة بناء.

4.   يمكن إنشاء دالة هدم واحدة فقط.

5.   ليس لهما أنواع رجوع.

 

 

 
 

 أعلى

 

 

   
 أمثلة:- 

 مثال 1:-

توضيحي لدوال البناء والهدم:-

#include<iostream.h>

#include<conio.h>

class x

{

public:

x(   );//     دالة بناء

~x(   );//     دالة هدم

};

x::x(   )

{

cout<<"constructor is called \n";

}

x::~x(   )

{

cout<<"destructor is called \n";

getch(   );

}

main(   )

{

x   x1,x2;

getch(  );

ملاحظات:-

1.   يتم استدعاء دالة البناء  عند اشتقاق الكائن وبصورة تلقائية .

2.   دالة الهدم يتم استدعاؤها أيضاً بصورة تلقائية ولكن عند نهاية البرنامج.

3.   كل كائن يستدعي دالة البناء ودالة الهدم.

 

مخرج البرنامج هو :

constructor is called

"     "             "

destructor is called

"     "             "

 

مثال 2 :-

برنامج يقوم بإيجاد العمليات الأساسية (الجمع ,الطرح , الضرب , القسمة ) لعددين مدخلين من قبل المستخدم باستخدام دالة البناء

 

#include<iostream.h>

#include<conio.h>

class operations

{

float a,b,c;

public:

operations(  );

void result(  );

};

operations::operations(  )

{

cout<<"Mathematical Operations \n";

cout<<" 1- Addition \n";

cout<<" 2- Subtraction \n";

cout<<" 3- Multiplication \n";

cout<<" 4- Division \n";

cout<<" Please Enter Tow Values a and b \n";

cin>>a>>b;

}

void operations::result(  )

{

c=a+b;

cout<<a<<"+"<<b<<"="<<c<<"\n";

c=a-b;

cout<<a<<"-"<<b<<"="<<c<<"\n";

c=a*b;

cout<<a<<"*"<<b<<"="<<c<<"\n";

if(b!=0)

{

c=a/b;

cout<<a<<"/"<<b<<"="<<c<<"\n";

}

else

cout<<"the result of division is infinite \n";

}

main(  )

{

operations  op;

op.result(  );

getch(  );

}

 

 
 

 أعلى

 

 

   
خواص دوال البناء والهدم:- 

1.  تحمل نفس اسم الصنف  ولكن دالة الهدم تسبق بعلامة   ~

2.   يتم تعريفهم في مستوى الحماية العام . public

3.   يمكن إنشاء أكثر من دالة بناء.

4.   يمكن إنشاء دالة هدم واحدة فقط.

5.   ليس لهما أنواع رجوع.

 

 

 
 

 أعلى

 

 

   

دالة البناء التي تستخدم المعاملات:-

يمكن أن نستخدم أي نوع من المعاملات  parameters   في داخل دالة البناء وذلك من خلال إضافة عدد المعاملات الضرورية في دالة البناء المعلنة.

مثال:-  دالة البناء التي تستخدم المعاملات

#include<iostream.h>

#include<conio.h>

class myclass

{

int a,b;

public:

myclass(int,int); 

void show(  );

};

myclass::myclass(int x,int y)

{

cout<<"constructor function \n";

a=x;

b=y;

}

void myclass::show(  )

{

cout<<a<<"\t"<<b<<"\n";

}

main(  )

{

myclass ob(4,7);

ob.show(  );

getch(  );  

}

 
  << الوحدة السابقة

 أعلى

الوحدة التالية >>

 

                                                             

 
   

 

 

جميع الحقوق محفوظة © 2006