c++类的常成员和静态成员的相关整理
常成员与常对象常对象只能调用常成员函数。 常数据成员的初始化只能通过构造函数的初始化列表进行。(不能被赋值,不能调用拷贝构造函数) ? ? ?——常数据成员在定义对象时必须通过构造函数的初始化化表进行初始化。 常成员函数不能调用没有const?修饰的成员。 ? ?——说明格式:??返回类型?成员函数名 (参数表) const; 静态数据成员——只保留一个副本,为该类所有对象所共享。 ——表示类属性,在程序开始时产生,程序结束时消失。 静态数据成员在类内声明,类外初始化。 类内声明:? ?static?数据类型?静态成员名; 类外初始化:? ? 数据类型? 类名::静态数据成员名 =?初始值? ? ? ? ? ? //不能加static。 (初始化与它的访问权限无关) 静态成员函数不能存储非静态成员 没有this指针 访问权限和普通成员一样。 类的静态数据成员与全局对象(变量)一样,在数据段中分配内存。 类只是一个型,除静态数据成员外,在没有实例化成对象前不占任何内存。 对象的内存分配全局对象占数据段的内存。 局部对象,为实参建立的临时对象——栈中。 new?建立的动态对象——堆中。 对象的内存空间分配: 数据成员——与对象的存储类别相关。 成员函数——代码段中。 数据成员拥有各自的内存空间,成员函数在内存中只有一个副本。 对象的内存空间释放全局对象——程序结束时。 局部对象与实参对象——函数调用结束时。 动态对象——delete语句。 对象的成员函数——所有对象生命周期结束时。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |