suraty
پنج شنبه 05 آبان 1390, 22:28 عصر
سلام
داده های static تنها یکبار می توانند مقدار اولیه بگیرند. اما مثال زیر رو ببینید. هر 3 بار به متغیر a مقدار 3 رو اختصاص می ده. چرا؟
#include"iostream.h"
#include"conio.h"
class myclass{
static int a;
public:
void fun(){
a=3;
a++;
}
void print(){
cout<<a; }
};
int myclass::a;
int main(){
myclass ob;
ob.fun();
ob.print();
ob.fun();
ob.print();
ob.fun();
ob.print();
return 0;
}
داده های static تنها یکبار می توانند مقدار اولیه بگیرند. اما مثال زیر رو ببینید. هر 3 بار به متغیر a مقدار 3 رو اختصاص می ده. چرا؟
#include"iostream.h"
#include"conio.h"
class myclass{
static int a;
public:
void fun(){
a=3;
a++;
}
void print(){
cout<<a; }
};
int myclass::a;
int main(){
myclass ob;
ob.fun();
ob.print();
ob.fun();
ob.print();
ob.fun();
ob.print();
return 0;
}