تعریف متغییر static در یک کلاس
دوشنبه, ۱۲ تیر ۱۳۹۶، ۱۱:۱۲ ق.ظ
شکل کلی تعریف یک متغییر استاتیک در کلاس به این صورت است:
class test
{
static int x;
};
int test::x=0;
همان طور که مشخص است تعریف متغییر در بدنه کلاس انجام می شود اما مقدار دهی آن خارج از کلاس
برای مثال اگر بخواهیم تعداد متغییر ها ی تعریف شده از کلاس test را داشته باشیم باید یک متغییر int از نوع static تعریف کرده ، هر بار در تابع سازنده (جایی که یک شی از کلاس هنگام تعریف در آنجا مقدار دهی می شود) رفته و به مقدار x یکی اضافه کنیم :
#include <iostream>
using namespace std;
class test
{
public:
test() //contractor
{
x++;
cout<<x<<endl;
}
static int x;
void PrintX() {cout<<x<<endl;}
};
int test::x=0;
int main(int argc, char** argv) {
test A,B;
return 0;
}
- ۹۶/۰۴/۱۲