第四天总结

1 explicit关键字:

只能写在构造函数前面,只是针对Maker maker=10;防止该形式的代码,叫编译器不要优化成Maker maker=Maker(10)

2 new和delete

2.1 new :从堆区申请空间,做初始化工作(调用类的构造函数),返回的是指针
2.2 delete:在对象销毁前,会做清理工作(调用类的析构函数),然后释放空间
2.3 注意点:
2.3.1 new的返回值不要void来接(因为编译器不认识void类型)
2.3.2 new时有[],那么delete时也要加上[]

3 静态成员

3.1 静态成员变量
3.1.1 不属于对象,属于类,所有对象共享
3.1.2 静态成员变量,必须在类内声明,类外初始化
3.1.3 用类名可以访问,用对象也可以访问
3.1.4 静态成员变量的生命周期为整个程序,作用域在类内
3.1.5 静态成员变量有权限
3.1.6 const修饰的静态成员变量最好在类内初始化
3.2 静态成员函数
3.2.1 静态成员函数用来管理封装静态成员变量
3.2.2 静态成员函数只能访问静态成员变量
3.2.3 静态成员函数也有权限
3.2.4 普通函数可以访问静态成员变量

4 this指针

4.1 每一对象都有this指针
4.2 this指针指向本对象
4.3 形参和成员变量同名时可以用this指针来区别
4.4 返回对象本身
4.5 成员变量和成员函数是分开存储
4.6 对象的大小不包括成员函数
4.7 空类的大小是一个字节
4.8 const修饰的成员函数叫常函数,常函数内不能修改成员变量,但是mutable修饰的成员变量除外

5 常对象

5.1 const修饰的对象叫常对象
5.2 常对象不能改变普通的成员变量,但是mutable修饰的成员变量除外
5.3 常对象不能调用普通的成员函数,可以调用常函数

6 友元

6.1 友元的作用:在类外访问类的私有成员
6.2 友元分:友元函数,友元类,成员函数的友元函数
6.3 在普通函数或类的前面加上friend,在类中声明
6.4 友元类不能被继续,友元是单向,友元没有传递性

7 单列模式

7.1 什么是单例模式:一个类只能实例化一个对象
7.2 怎么实现:
7.2.1 把默认构造,默认拷贝构造私有化
7.2.2 类内声明一个静态本类的类指针
7.2.3 在类外定义该指针,给这个指针一对象(new)
7.2.4 保护该指针,要该指针私有化,然后提供获取该指针的方法(静态成员函数)

posted @   CodeMagicianT  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示