PDA

View Full Version : فرق روشهای دسترسی به متدهای یک کلاس



roze_sepideh
سه شنبه 18 دی 1386, 10:59 صبح
ببخشید ، سوال من کمی ابتداعی هست اما هرچی گشتم نفهمیدم علتش چیه؟
چرا برای دسترسی به متدهای یک کلاس گاهی از نقطه (.) و گاهی از (->) استفاده میکنیم؟
فرق اینا چیه؟

emad_67
سه شنبه 18 دی 1386, 12:14 عصر
بستگی داره عنصری رو که تعریف میکنی به چه صورتی تعریف بشه. در صورتی که اشاره گری به شی ایی از اون کلاس باشه باید برای دسترسی به متد ها و اعضا از <- استفاده کنی و در صورتی که مثل یه متغیر معمولی تعریف بشه باید از . استفاده کنی. مثلا فرض کن کلاسی داریم به اسم student


student obj;
obj.print();
در مثال بالا obj یک شی ایی از کلاس student هست بنابراین در این حالت باید از . برای دسترسی به عضو ها استفاده کنی.
اما:


student *obj;
obj=new student;
obj->print();
در اینجا می بینی که obj اشاره گری به کلاس student هست( یا به صورت دقیق تر اشاره گری به شی کلاس student) که در این حالت باید از <- که نماد همون اشارهگر هست استفاده کنی.

ICEMAN
سه شنبه 18 دی 1386, 16:49 عصر
حتی اگه Member function یا Data Member از نوع static باشه قبل از create شدن object ها میشه فراخوانی شون کرد .


student::getaverage();
student::name;