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

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

 مواقع أخرى

 

الأخبار

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

  BBC عربي

  CNN عربي

 

الصحف

 

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

 

 الجامعات

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

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

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

 

الرياضة

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

 

 

 
 


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

   

الدوال الخطية:-

Inline Function

 كما نعلم أن لغة C++  تسمح باستخدام   الدالة الخطية Inline Function  والتي تعمل بحد ذاتها على تقليل وقت تنفيذ البرنامج وبالتالي هذا يؤثر على سرعة التنفيذ حيث كما تعلمنا في C++  بان استخدام Inline  لا يتطلب أماكن جديدة في الذاكرة مما يقلل من وقت الترجمة (استهلاك وقت الحاسب).

 
 
 

 أعلى

 

 

   
استخدامInline    

ونذكر بان استخدام Inline  في C++   كما في البرنامج التالي:-

#include<iostream.h>

#include<conio.h>

inline int cube(int a)

{

return a*a*a;

}

main(  )

{

int i;

for(i=1;i<=5;i++)

cout<<cube(i)<<"\n";

getch(  );

}

 
 

 أعلى

 

 

   
 كيفية استخدامها مع الأصناف

بنفس الأسلوب يمكن استخدام هذا المفهوم في الأصناف حيث:

1.   أن أي داله  يتم الإعلان عنها داخل الصنف يتم التعامل معها  من قبل المترجم  على أنها خطية  ماعدا الدوال  الكبيرة  فيعتمدها المترجم على أنها عادية.

2.   الدوال الخطية هي عبارة عن دوال بحجم صغير تساعد في تسريع تنفيذ البرنامج

3.   يقوم المترجم بكتابة تفاصيل الدالة  في كل موضع  يظهر فيه استدعاء لهذه الدالة مما يزيد من سرعة تنفيذ البرنامج وذلك بتقليل زمن الذهاب والرجوع عند استدعاء الدالة

4.   كل داله تكتب  تفاصيلها داخل الصنف يتم اعتمادها من قبل المترجم كداله خطيه ما لم تكن الدالة تحوي أوامر كثيرة أو حلقات تكرارية

 
 
 

 أعلى

 

 

   
 أمثلة:- 

مثال 1 :-

#include<iostream.h>

#include<conio.h>

class  xy

  {

      private:

            int   g;

      public :

               void set (int x)

                  {

                     g = x ;

                  }

  };

لاحظ :-

          الدالة set  تعتبر خطية لسببين:

1-   تم الإعلان عنها داخل الصنف

2-   أن تعليماتها قليلة وليس بها حلقات تكرارية

ملاحظة:-

         إذا كتبت تفاصيل الدالة خارج الصنف لابد من إضافة الكلمة المحجوزة  inline إلى الدالة حتى تعتبر داله  خطيه .

#include<iostream.h>

#include<conio.h>

class  xy

  {

      private:

            int   g;

       public : 

            void set (int);

  };

inline void   xy :: set(int x)

{

     g = x ;

}

مثال 2 :-

 

#include<iostream.h>

#include<conio.h>

class samp

{

int i,j,k ;

public:

samp (int a, int b)

{

i = a ;

j = b ;

}

int divisible (  );

};

inline int samp :: divisible (  )

{

k = ! ( i % j ) ;

return k ;

}

main(  )

{

int x,y;

cout<<"enter x and y \n";

cin>>x>>y;

samp  s(x,y);

if (s. divisible (  ))

     cout <<x<<"divided by"<<y<<"\n" ;

else

     cout <<x<<" is not divided by"<<y<<"\n" ;

getch(  );

}

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

 أعلى

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

 

                                                             

 
   
 

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