首页 > 代码库 > 静态成员变量.xml

静态成员变量.xml

<style type="text/css"> pre{ line-height:1; color:#1e1e1e; background-color:#f0f0f0; font-size:16px;}.sysFunc{color:#627cf6;font-style:italic;font-weight:bold;} .selfFuc{color:#800080;} .bool{color:#d2576f;} .condition{color:#000080;font-weight:bold;} .key{color:#000080;} .var{color:#800000;font-style:italic;} .Digit{color:#ff00ff;font-weight:bold;} .includePre{color:#1e1e1e;} .operator?{color:#008000;font-weight:bold;} </style>

静态成员变量

1静态成员函数只能访问静态变量,因为静态变量不含this指针

2静态成员变量??不但被类的各个对象共享,而且也被派生类的对象共享

示例:

?
class?base{
public:
?????????static?int?num;
};
?
int?base::num=0;
?
class?derived:public?base
{
};
?
?????????base?a;
?????????derived?b;
?????????a.num++;
?????????cout<<a.num<<endl;
?
?????????b.num++;
?????????cout<<b.num<<endl;
?

3?类的静态成员可以成为成员函数的可选参数,而普通成员不可以

示例:

class?base{
?
public:
?????????static?int?num;
?
?????????int?var;
?
?????????void?f1(int?i=num);??//?正确
?????????void?f2(int?i=var);??//?错误
};
?

4?类的静态成员可以是所属类的类型,而普通成员不可以,普通成员只能声明为所属类类型的指针或引用

?
class?base{
?
public:
?????????static?base?num;
?
?????????base?var;?//?错误
?
?????????base?*pBase;
?
?????????base?&myBase;
};

本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。

静态成员变量.xml