乐趣区

关于c++:Cday12笔记无代码

C++day12 笔记无代码
1 设计类、求圆的周长
1.1 关键字 class
1.2 class + 类名 {成员}
1.3 类的形成:成员函数 + 成员属性
1.4 作用域 public:公共作用域
1.5 属性:半径
1.6 行为:求圆周长、设置圆半径、获取圆半径
1.7 测试:实例化对象 通过类创建对象 Circle c1;
1.8 给对象赋值 c1.setR(10) 获取半径 c1.getR(); 获取周长 c1.calculateZC();
1.9 设计一个学生类,有姓名和学号,给姓名学号赋值,并且打印学生的信息
2 内联函数
2.1 内联函数的引出 — 宏函数缺点
2.1.1 必须保障运算完整性,加括号
2.1.2 即便加了括号,有些状况仍然和预期后果不符
2.1.3 宏函数 也不器重作用域
2.2 内联函数 inline
2.3 函数申明和实现必须同时加 inline 才算内联函数
2.4 类外部成员函数 默认后面加了 inline 关键字
2.5 内联函数和编译器关系
2.5.1 退出内联后只是对编译器的一个倡议,有些状况下编译器仍然不会依照内联形式处理函数
2.5.2 循环、判断、函数体过于宏大、对函数取地址,不会依照内联解决
2.5.3 一个好的编译器,会将短小的函数 暗藏的退出 inline 关键字
3 函数的默认参数以及占位参数
3.1 默认参数
3.1.1 在形参前面 = 默认值
3.1.2 如果参数列表中 有一地位有了默认参数,那么从这个地位起从左到右都必须有默认参数
3.1.3 函数的申明和实现 只能有一个有默认参数
3.2 占位参数
3.2.1 函数参数列表中 (int) 只写类型,调用必须要传入参数调用
3.2.2 占位参数也能够有默认参数(int = 0)
3.2.3 目前用不到占位参数,前面学习符号重载才会用到
4 函数重载
4.1 满足条件
4.1.1 同一个作用域,函数名称雷同
4.1.2 函数参数 类型、个数、程序不同
4.2 函数的返回值 不能够作为函数重载条件
4.3 援用 退出 const 和不加 const 也能够作为重载条件
4.4 函数重载碰到函数默认参数 也须要留神防止二义性
5 extern C 浅析
5.1 函数重载原理 编译器在底层会将函数名字做两次润饰,不便外部拜访函数体
5.2 用处:在 C ++ 下能够运行 C 语言的文件
5.3 #ifdef __cplusplus 两个下划线 + c plus plus
5.3.1 extern “C” {
5.4 #endif
5.5 #ifdef __cplusplus
5.5.1 }
5.6 #endif
6 类的封装
6.1 C 语言的封装
6.1.1 毛病:C 语言下没有做类型转换的检测
6.1.2 毛病 2:将属性和行为拆散
6.2 C++ 封装
6.2.1 将属性和行为作为一个整体,来体现生存中的事物
6.2.2 将这些成员 加以权限管制
6.3 权限
6.3.1 public 私有权限
6.3.2 protected 爱护权限
6.3.3 private 公有权限
6.4 C++ 中 struct 和 class 区别
6.4.1 struct 默认权限 public
6.4.2 class 默认权限 private
7 尽量将成员属性设置为公有
7.1 设置为公有权限的属性,能够本人管制属性的读写操作
7.2 能够将传入数据,进行有效性的检测
8

退出移动版