C++对象的生存周期和类的静态成员
2018-01-04 19:22
357 查看
<1>对象的生存周期
静态生存周期:全局变量具有静态生存周,局部变量的静态数据的特点:函数内的静态变量,不会随着函数调用的结束而消亡。
动态生存周期:除了上述两种情况以外其它都具有动态生存周期,局部生存对象诞生于声明点,结束语所在块执行完毕之后。
<2>类的静态成员
第一,静态数据成员:一个类的所有对象公有的属性
静态成员在每个类中只有一个副本,由该类的所有对象共同维护和使用,从而实现了同一类的不同对象之间的数据共享,类属性是描述类的所有对象共同特征的一个数据项,对任何对象实例,它的属性值是相同的。
使用static声明静态成员,静态成员在每个类中,只有一个副本,静态数据成员具有静态生存期,静态成员不属于任何一个对象,
静态成员函数可以直接访问该类的静态数据和函数成员,然而访问非静态成员必须通过对象名。
静态生存周期:全局变量具有静态生存周,局部变量的静态数据的特点:函数内的静态变量,不会随着函数调用的结束而消亡。
动态生存周期:除了上述两种情况以外其它都具有动态生存周期,局部生存对象诞生于声明点,结束语所在块执行完毕之后。
<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;//正确 }一点:静态函数只用来维护静态数据成员即可。
相关文章推荐
- C++中对象生存周期
- C++ 临时对象的生存周期
- C++关于对象的生存周期
- C和C++的面向对象专题(7)——单例模式解决静态成员对象和全局对象的构造顺序难题
- C++ 类 & 对象-C++ 内联函数-C++ this 指针-C++ 类的静态成员
- 关于C++中用静态成员统计实例化对象个数问题_CVTE技术面问题
- C++知识文档六_对象常量_静态成员_友元_抽象类
- C++对象的生存周期
- c++のstatic静态成员、对象的动态创建和释放
- C++静态成员函数不能声明为const、volatile、virtual的原因 与 C++的对象模型
- C++第七周任务【任务1】含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据
- C++中对象的生存周期
- C++入门 (六) 类对象数组和静态成员
- C++_类_对象的生存周期
- 《C++第七周实验报告1-1》---含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据
- C++——面向对象(三)——各种对象的生存周期
- C++对象的生存周期
- C++:类与对象6(静态成员:平均分)
- C++面向对象编程:对象的内存分配与静态成员
- C++基础学习笔记----第十一课(类的静态成员、对象模型初步认识)