您的位置:首页 > 编程语言 > C语言/C++

C++对象的生存周期和类的静态成员

2018-01-04 19:22 357 查看
<1>对象的生存周期

静态生存周期:全局变量具有静态生存周,局部变量的静态数据的特点:函数内的静态变量,不会随着函数调用的结束而消亡。

动态生存周期:除了上述两种情况以外其它都具有动态生存周期,局部生存对象诞生于声明点,结束语所在块执行完毕之后。

<2>类的静态成员

第一,静态数据成员:一个类的所有对象公有的属性

静态成员在每个类中只有一个副本,由该类的所有对象共同维护和使用,从而实现了同一类的不同对象之间的数据共享,类属性是描述类的所有对象共同特征的一个数据项,对任何对象实例,它的属性值是相同的。

使用static声明静态成员,静态成员在每个类中,只有一个副本,静态数据成员具有静态生存期,静态成员不属于任何一个对象,

类名::标识符
第二,静态函数成员:使用static声明成员函数

静态成员函数可以直接访问该类的静态数据和函数成员,然而访问非静态成员必须通过对象名。

class Fun
{
public:
static void function(Fun fun);
private:
int x;
};
void Fun::function(Fun fun)
{
cout<<x<<endl;//错误
cout<<fun.x<<endl;//正确
}
一点:静态函数只用来维护静态数据成员即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息