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

محتويات الوحدة
 
المؤشر  This
مثال 1
مثال 2
 
 
 
 
 
 
 
 
وحدات اخرى
 
  الوحدة الأولى
  الوحدة الثانية
  الوحدة الثالثة
  الوحدة الرابعة
  الوحدة الخامسة
  الوحدة السادسة
  الوحدة السابعة
  الوحدة الثامنة
  الوحدة التاسعة
  الوحدة العاشرة
  الوحدة الحادية عشر
  الوحدة الثـانية عشر
  الوحدة الثالثة عشر
  الوحدة الرابعة عشر
 

 مواقع أخرى

 

الأخبار

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

  BBC عربي

  CNN عربي

 

الصحف

 

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

 

 الجامعات

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

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

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

 

الرياضة

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

 

 

 


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

   
 المؤشر This

This Pointer

 يستخدم المؤشرThis  داخل الصنف للدلالة على أن الخاصية التي يتم التعامل معها ألان  تنتمي للكائن الذي استدعى هذه الخاصية أو الدالة التي تتعامل مع هذه الخاصية.

ولكن الاستخدام الأساسي للمؤشر Thisفي التحميل الزائد للمؤثرات لإرجاع كائن من دالة التحميل الزائد (إحدى طرق إرجاع كائن) . 

 

 
 

 أعلى

 

 

   
مثال1:-

#include<iostream.h>

#include<conio.h>

class thispointer

{

private:

int z;

public:

thispointer(  )

{

this->z=0;

}

thispointer(int x)

{

this->z=x;

}

void display(  )

{

cout<<this->z<<"\n";

}

};

main(  )

{

thispointer t1,t2(20);

t1.display(  );

t2.display(  );

getch(  );

}

ملاحظة:-

 استخدمنا المؤشر This  فقط للتأكيد على أن الخاصية تنتمي للكائن المعني.

ولكن وجود المؤشر غير ضروري لان البرنامج يتعرف تلقائياً على الكائنات والمتغيرات التابعة له .

 
 

 أعلى

 

 

   

مثال2 :-

Point class   برنامج لإنشاء صنف النقطة

خصائص الصنف:-

 y   و  x قيم الإحداثيات

colorاللون  

الدوال(العمليات):-

1- دوال البناء

 point (  )    -

point ( int ,int  )    -

point (int,int,int )    -

 setcolor(int)-2 دالة تغيير اللون

 setx(int)    وهي  x -3 دالة تغيير الإحداثي

sety(int)    وهي  y -4 دالة تغيير الإحداثي

 setcolor(int)-5 دالة تغيير اللون

getx(  )  وهي   x  6 - دالة الحصول على الإحداثي

gety(  )  وهي   y -7  دالة الحصول على الإحداثي  

getcolor(   )-8 دالة الحصول على اللون

display(  )-9 دالة عرض الإحداثيات واللون

 

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

 

#include<iostream.h>

#include<conio.h>

class point

{

private:

int x,y,color;

public:

point(  )

{

x=0;

y=0;

color=0;

          }

point(int,int);

point(int,int,int);

void setx(int);

void sety(int);

void  setcolor(int);

int getx(  );

int gety(  );

int getcolor(  );

void display(  );

};

point::point(int x1,int y1)

{

this->x=x1;

this->y=y1;

}

point::point(int x1,int y1,int c)

{

this->x=x1;

this->y=y1;

this->color=c;

}

void point::setx(int x1)

{

 

this->x=x1;

}

void point::sety(int y1)

{

 

this->y=y1;

}

void point::setcolor(int c)

{

 

this->color=c;

}

int point::getx(  )

{

return this->x;

}

int point::gety(  )

{

return this->y;

}

int point::getcolor(  )

{

return this->color;

}

void point::display(  )

{

cout<<"("<<x<<","<<y<<","<<color<<")"<<"\n";

}

main(  )

{

point p1,p2(10,20),p3(50,100,0);

p1.display(  );

p2.display(  );

p3.display(  );

p1=p2;

p1.display(  );

p2.setx(100);

p2.sety(100);

cout<<"p2.x="<<p2.getx(  )<<"\n";

cout<<"p2.y="<<p2.gety(  )<<"\n";

point p4(p2.getx( ),p3.gety( ),p2.getcolor( ));

p4.display(  ) ;

getch(  );

}

ملاحظة:-

 p1=p3يمكن نسخ كائن إلى كائن آخر من نفس النوع  مثل    
 
 

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

 أعلى

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

 

                                                             

 
   
 

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