14.数据成员属性

1.静态属性:

  • 回顾C语言的静态变量特点:
  1. 静态全局变量,只能在当前文件中使用
  2. 修饰局部变量的时候,局部变量只能被初始化一次
  3. 修改函数,只能在当前文件中使用
  4. 静态变量会改变数据的生命周期 (把栈空间的数据改为数据段)

2.类中的静态成员:

1.类中的静态成员只能在类外初始化
         int base::a=100;  //类外初始化 
2.类中的静态成员,不包含在对象空间中,因为静态成员是存储在数据段中的。 
       例如: class base{
                        public:
                     static  int a;}   ->大小为 1 。a不在base 的空间中
3.类中的静态成员,可以直接通过 《类名::变量名》 直接调用。 (一定要是公共成员)
4.类中的所有对象,共用静态成员。

3.类中的静态函数:

1.类中的静态函数,不能使用this 指针, (不是对象空间中的函数)
2.类中的静态函数,不能访问类中的非静态成员数据。 
(因为非静态成员数据,要定义对象后才产生空间,因为静态成员函数是先于对象存在的,静态成员函数,就无法访问)
3.静态成员函数是先于对象存在的,所以我们可以 《直接调用共有的静态成员函数》不需要创建对象! 
    
//总结:静态成员函数的优点:1.方便用户的调用  2.不需要创建对象直接调用,节省内存空间

设计如下一个文件管理类:

class  file 
{
  	//构造函数  
     
	//静态读取文件的内容接口
  
	//文件的路径名    
}
//可以实现在不创建 file 对象的情况下,直接读取文件中的内容。 

4.类中的const成员

回顾c语言中的const 变量:

const int *p; //不能修改,指向的内容 

int const *p;//不能修改,指向的内容

int *const p;//不能修改指向的地址

const int *const p;//不能修改指向的内容与地址 


找规律: 看星星 ⭐
    如果*和p 一起的,就是内容不可变 
    如果是分开的,就地址不可变.
  • 常量成员的作用

    ​ 作用:提高代码的稳定性与安全性。

    const int a=100;

5.类中的常量成员

1.类中的常量成员,必须要初始化,否则无法定义对象。 (构造函数中的参数列表初始化,默认值)
2.常量被初始化后无法再次修改     

6.类中的常量函数:

1.类中的常量函数的定义     const 需要添加在函数的后面 
     void show() const  
2.类中的常量函数不能《修改》,类中的《所有》数据成员。  (保护了类中的数据成员,更加安全)

3.假设用户想要数据被常量函数修改,那么就在数据前添加   mutable 关键字即可
    

7.常量对象:

1.利用const 修饰的对象就是常量对象     
2.常量对象,无法修改类中的公共成员 
3.常量对象,假设想要修改类中的公共成员,那么必须使用  mutable 说明
4.常量对象,只能调用常量函数。无法调用普通函数 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值