مواقع أخرى
الأخبار
BBC عربي
CNN عربي
الصحف
الجامعات
جامعة الملك سعود
جامعة الملك عبد العزيز
الرياضة
This Pointer
يستخدم المؤشرThis داخل الصنف للدلالة على أن الخاصية التي يتم التعامل معها ألان تنتمي للكائن الذي استدعى هذه الخاصية أو الدالة التي تتعامل مع هذه الخاصية.
ولكن الاستخدام الأساسي للمؤشر Thisفي التحميل الزائد للمؤثرات لإرجاع كائن من دالة التحميل الزائد (إحدى طرق إرجاع كائن) .
أعلى
#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 دالة عرض الإحداثيات واللون
نص البرنامج :-
class point
int x,y,color;
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->color=c;
void point::setx(int x1)
void point::sety(int y1)
void point::setcolor(int 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";
point p1,p2(10,20),p3(50,100,0);
p1.display( );
p2.display( );
p3.display( );
p1=p2;
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( ) ;
<< الوحدة السابقة
الوحدة التالية >>
جميع الحقوق محفوظة © 2006