View Full Version : دسترسی به متغیر محلی دوم
mo.esmp
چهارشنبه 09 اسفند 1385, 02:02 صبح
سلام دوستان دو سئوال داشتم.
1-به متغیر x3 با چه دستوری میتوان دسترسی پیدا کرد ؟
int x1;
int main()
{
int x2;
{
int x3;
}
}
در کلاس، کلمه کلیدی explicit که قبل از سازنده کلاس میاد چه کاری رو انجام میده.
class classNAME {
public:
explicit classNAME();
}
american_iran2006
چهارشنبه 09 اسفند 1385, 17:34 عصر
سلام :
int *b;
b=&x3;
mo.esmp
چهارشنبه 09 اسفند 1385, 21:31 عصر
سلام.
اگه همه متغیرها همنام باشند چی ؟ مثلا اگر بخواهیم متغیر محلی دوم x را در main چاپ کنیم چی ؟
int x;
int main()
{
int x;
{
int x;
}
}
american_iran2006
پنج شنبه 10 اسفند 1385, 08:14 صبح
میتونی مقداره مورده نظرتو با return بگردونی تو main و چاپ کنی
main(){
int x;
}
int x2;
statment;
return x2{
cout << اسم تابع که میخوای متغییر ش چاپ شه;
{
mo.esmp
پنج شنبه 10 اسفند 1385, 12:35 عصر
در داخل بلاک تابع نداریم، فقط یک متغیر همنام با متغیر محلی اول داریم. راه دیگه ای نیست بجز استفاده از تابع ؟
saeedIRHA
پنج شنبه 10 اسفند 1385, 22:26 عصر
سلام
اگر با ++Visaul C کار میکنی استفاده از Namespace برای این کار میتونه
گزینیه مناسبی باشه، اگر بیشتر خواستی در موردش بدونی بگو که بیشتر توضیح بدم!
mo.esmp
جمعه 11 اسفند 1385, 17:25 عصر
من با Visual کار نمیکنم. البته راهی که به نظر خودم رسید، وقتی که همه متغیرها هم نام باشند مثل جواب دوستمون american_iran2006 (http://barnamenevis.org/forum/member.php?u=31189) اشاره گر رو داخل بلاک قرار بدیم و در main با اشاره گر کار کنیم. البته اگه شما هم توضیح بدید ممنون میشم.
int x;
int main()
{
int x;
{
int x;
int *y = &x;
}
}
saeedIRHA
شنبه 12 اسفند 1385, 00:17 صبح
همون طور که گفتم یک دیگه از راهایه انجام این کار استفاده از Namespace هست
برایه مثال به کده زیر دقت کن:
#include <iostream>
namespace myInt{
int x1 =10;
}
namespace myInt2{
int x1 = 20;
}
namespace myInt3{
int x1 =10;
}
int main()
{
std::cout << "Values are:" << myInt::x1 <<" , " <<
myInt2::x1 << ", " << myInt3::x1 << std::endl;
return 0;
}
mo.esmp
یک شنبه 13 اسفند 1385, 18:56 عصر
جواب شما با مسئله من همخوانی ندارد. متغیر سراسری رو میشه با عملگر تفکیک دامنه در main چاپ کرد و شما از تابع هم استفاده کردید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.