常成员与常对象
常对象只能调用常成员函数。
常数据成员的初始化只能通过构造函数的初始化列表进行。(不能被赋值,不能调用拷贝构造函数)
——常数据成员在定义对象时必须通过构造函数的初始化化表进行初始化。
常成员函数不能调用没有const 修饰的成员。
——说明格式: 返回类型 成员函数名 (参数表) const;
静态数据成员
——只保留一个副本,为该类所有对象所共享。
——表示类属性,在程序开始时产生,程序结束时消失。
静态数据成员在类内声明,类外初始化。
类内声明: static 数据类型 静态成员名;
类外初始化: 数据类型 类名::静态数据成员名 = 初始值 //不能加static。
(初始化与它的访问权限无关)
静态成员函数
不能存储非静态成员
没有this指针
访问权限和普通成员一样。
类的静态数据成员与全局对象(变量)一样,在数据段中分配内存。
类只是一个型,除静态数据成员外,在没有实例化成对象前不占任何内存。
对象的内存分配
全局对象占数据段的内存。
局部对象,为实参建立的临时对象——栈中。
new 建立的动态对象——堆中。
对象的内存空间分配:
数据成员——与对象的存储类别相关。
成员函数——代码段中。
数据成员拥有各自的内存空间,成员函数在内存中只有一个副本。
对象的内存空间释放
全局对象——程序结束时。
局部对象与实参对象——函数调用结束时。
动态对象——delete语句。
对象的成员函数——所有对象生命周期结束时。
总结以上是内存溢出为你收集整理的c++类的常成员和静态成员的相关整理全部内容,希望文章能够帮你解决c++类的常成员和静态成员的相关整理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)