目录
- 1.静态属性:
- 2.类中的静态成员:
- 3.类中的静态函数:
- 4.类中的const成员
- 5.类中的常量成员
- 6.类中的常量函数:
- 7.常量对象:
1.静态属性:
- 静态全局变量,只能在当前文件中使用
- 修饰局部变量的时候,局部变量只能被初始化一次
- 修改函数,只能在当前文件中使用
- 静态变量会改变数据的生命周期 (把栈空间的数据改为数据段)
2.类中的静态成员:
1.类中的静态成员只能在类外初始化
int base::a=100;
2.类中的静态成员,不包含在对象空间中,因为静态成员是存储在数据段中的。
例如: class base{
public:
static int a;} ->大小为 1 。a不在base 的空间中
3.类中的静态成员,可以直接通过 《类名::变量名》 直接调用。 (一定要是公共成员)
4.类中的所有对象,共用静态成员。
3.类中的静态函数:
1.类中的静态函数,不能使用this 指针, (不是对象空间中的函数)
2.类中的静态函数,不能访问类中的非静态成员数据。
(因为非静态成员数据,要定义对象后才产生空间,因为静态成员函数是先于对象存在的,静态成员函数,就无法访问)
3.静态成员函数是先于对象存在的,所以我们可以 《直接调用共有的静态成员函数》不需要创建对象!
设计如下一个文件管理类:
class 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.常量对象,只能调用常量函数。无法调用普通函数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)