PDA

View Full Version : سوال: یک خط خارج از این کلاس چه اتفاقی می افته؟



complexcoding
چهارشنبه 21 تیر 1391, 17:18 عصر
با سلام
می خواستم بدونم یک خط خارج از این کلاس چه اتفاقی می افته؟
class test {
int a;
public:
int b;
}

int test :: *p=&test :: b;

complexcoding
دوشنبه 26 تیر 1391, 19:19 عصر
دوستان کمک نمی کنید؟

حامد مصافی
دوشنبه 26 تیر 1391, 23:46 عصر
تلاش زیادی کردم. اما منظورتو گرفتم. لطفاً کمی واضح تر بیان کن

the king
سه شنبه 27 تیر 1391, 01:09 صبح
با سلام
می خواستم بدونم یک خط خارج از این کلاس چه اتفاقی می افته؟
class test {
int a;
public:
int b;
}

int test :: *p=&test :: b;

وقتی بیرون یک کلاس کد می نویسید، کد مربوط به درون کلاس نیست، مگر اینکه با :: مشخص کنید که این کد مربوط به کدوم کلاسه.
این کد هم در اصل این بوده :

int *p = &b;

یعنی تعریف و مقدار دهی اشاره گر p که به متغیر b اشاره می کند. این کد با کلاس test و متغیر b سر و کار داره، اما چون خواسته اند که بیرون کلاس بنویسند
باید مشخص بشه منظور کدوم کلاسه، هم برای متغیر p و هم برای b ، به همین جهت اون دو تا :: test اضافه شده که کد رو پیچیده نشون داده.