View Full Version : سوال: داده استاتیک
mohsen_nikoei
پنج شنبه 05 شهریور 1394, 15:26 عصر
چرا به داده استاتیک در کلاس ها نمیشه مقدار اولیه داد..؟
ehsan_faal
پنج شنبه 05 شهریور 1394, 15:41 عصر
مطمئنید نمیشه؟
مثالهای کتاب دایتل رو نگاه کنید.
مثلا یه int از نوع static تعریف میکنه توی هدر و توی فایل cpp. میاد و بهش مقدار اولیه میده.
منظورتون همینه؟
کامبیز اسدزاده
پنج شنبه 05 شهریور 1394, 16:29 عصر
چرا به داده استاتیک در کلاس ها نمیشه مقدار اولیه داد..؟
شدنی هست و شما میتونید مقدار دهی اولیه کنید چون ذاتا هدف از مقادیر استاتیک همینه که مقدار ثابت بهش تعریف کنی.
اگه ممکنه شما کدی رو که باهاش مشکل دارید ارسال کنید همینجا بررسی کنیم.
mohsen_nikoei
شنبه 07 شهریور 1394, 01:43 صبح
شدنی هست و شما میتونید مقدار دهی اولیه کنید چون ذاتا هدف از مقادیر استاتیک همینه که مقدار ثابت بهش تعریف کنی.
اگه ممکنه شما کدی رو که باهاش مشکل دارید ارسال کنید همینجا بررسی کنیم.
// ConsoleApplication13.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class test
{
public:
static int x = 34;
void display();
};
void test::display()
{
cout << x << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
test ob;
ob.display();
return 0;
}
zero_ox
شنبه 07 شهریور 1394, 08:06 صبح
#include "stdafx.h"
#include <iostream>
using namespace std;
class test
{
public:
static int x;
void display();
};
int test::x=34;
void test::display()
{
cout << x << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
test ob;
ob.display();
return 0;
}
کامبیز اسدزاده
شنبه 07 شهریور 1394, 10:24 صبح
خب شما دارید داخل خود کلاس متغیر رو مقدار دهی میکنید برای این کار در کلاس نوع x رو همرا با const تعریف کنید به این صورت :
static const int x = 34;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.