الوحدة الثالثة ::: من الدروس

محتويات الوحدة
 
الأصناف
 الصيغة العامة للأصناف
تعريف الكائنات
مثال الأصناف
مؤثر محدد دقة الوصول
مثال مؤثر دقة الوصول
 
 
 
 
 
 
 
وحدات اخرى
 
  الوحدة الأولى
  الوحدة الثانية
  الوحدة الثالثة
  الوحدة الرابعة
  الوحدة الخامسة
  الوحدة السادسة
  الوحدة السابعة
  الوحدة الثامنة
  الوحدة التاسعة
  الوحدة العاشرة
  الوحدة الحادية عشر
  الوحدة الثـانية عشر
  الوحدة الثالثة عشر
  الوحدة الرابعة عشر

 

 مواقع أخرى

 

الأخبار

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

  BBC عربي

  CNN عربي

 

الصحف

 

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

 

 الجامعات

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

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

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

 

الرياضة

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

 

 

 

 

   

الوحدة الثالثة   

 
 
   
الأصناف Classes : 

 يعد الصنف في لغة C++ من أهم مميزات اللغة والتي تجعل منها لغة OOP

وعليه فان الصنف هو عبارة عن تركيب يحتوي بيانات خاصة وعامة (معطيات)

كما يحتوي الصنف على تعار يف للدوال حيث يطلق على الدوال المعرفة ضمن تركيب الصنف أعضاء دالية Members Function ومن اجل استخدام الصنف Class لابد من تعريفه مسبقاً مثل تعريف المتغيرات

  يحوي الصنف على:

1) البيانات الأعضاء :

      هي خصائص الصنف .

2) الدوال الأعضاء :

        هي الوظائف المعرفة على الصنف وهي تقوم بمعالجة خصائص الصنف.

 

 
     

 أعلى

 

 

 

الصيغة العامة لإنشاء صنف :

 

 
     

 أعلى

 

 

   

تلميح 

هو عبارة عن إعلان عن صنفClass   باسم  rectangle هذا الصنف يحتوي على أربعة  أعضاء Four Members

1- متغيرين من النوع الصحيح (x , y) وتم  تعريفهم في الجزء الخاص بالمتغيرات المحلية

 

Two variables of type int (x and y) in the Private section))

2-  دالتين من النوع العام

              Set_values() and area()

 

 
     

 أعلى

 

 

   

تعريف الكائنات

يتم تعريف الكائنات في البرنامج الرئيسي وفقاً للصيغة التالية:-

Class name       Object name

اسم الكائن          اسم الصنف

مثلاُ إذا أردنا تعريف الكائن rect  من نوع الصنف  rectangle  نكتب الآتي:-

rectangle       rect    ;

أما إذا  أردنا تعريف مجموعة كائنات من نوع صنف معين فيجب أن يفصل بين كل كائن وآخر بواسطة فاصلة(,)

مثلاُ إذا أردنا تعريف الكائنات  1    rect و2 rect و rect3   من نوع الصنف  rectangle  نكتب الآتي:-                            

rectangle       rect 1,rect2,rect3   ;

ملاحظة:-

يتم الوصول إلي الأعضاء خارج الصنف باستخدام الكائنات مستخدمين في ذلك أداة النقطة (.)

وفقاً للصيغة التالية:- 

Object name. member ;

مثلاُ  إذا كان لدينا الكائن rect  من نوع الصنف   rectangle   فيمكن استخدامه  للوصل للدالة    area(  ) كالآتي :-

;(  )rect. area

 

 
     

 أعلى

 

 

   
  مثال  

 

 برنامج يقوم بحساب مساحة المستطيل باستخدام الأصناف

خصائص الصنف( البيانات):-

1.   الطول x

2.   العرض y

العمليات المعرفة على الصنف(الدوال)

1.   دالة تحديد القيم      set_values(  )

2.   دالة حساب المساحة          area(  )

نص البرنامج :-

#include<iostream.h>

#include<conio.h>

class crectangle

{

private:

int x,y;

public:

void set_values(int a,int b)

{

x=a;

y=b;

}

int area(  )

{

return x*y;

}        

};

main(  )

{

crectangle rect,rectb;

rect.set_values(3,4);

rectb.set_values(5,6);

cout<<"rect   area ="<<rect.area(  )<<endl;

cout<<"rectb area ="<<rectb.area(  )<<endl;

getch(  );

} 

مخرج البرنامج

rect  area   =12 

rectb area =30  

 

 
     

 أعلى

 

 

   
مؤثر محدد دقة الوصول (::) 

Scope Resolution Operator

هو عبارة عن مؤثر يستخدم عندما تكتب تفاصيل الدالة خارج نطاق الصنف الصيغة العامة لكتابة تفاصيل الدوال الأعضاء خارج الصنف.

                              اسم الدالة    ::          اسم الصنف         النوع

Data type  Class_Name::Function_name(Function arguments)

 

 
   
مثال  

#include<iostream.h>

#include<conio.h>

class myclass

{

int a;

public:

void set_a(int);

int get_a(  );

};

void myclass::set_a(int num)

{

a=num;

}

int myclass::get_a(  )

{

return a;

}

main(  )

{

int x,y;

cout<<"enter x \n";

cin>>x;

cout<<"enter y \n";

cin>>y;

myclass ob1,ob2;

ob1.set_a(x);

ob2.set_a(y);

cout<<ob1.get_a(  )<<"\n";

cout<<ob2.get_a(  )<<"\n";

getch(  );

}

 
 

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

 أعلى

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

 
 
   

 

 

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