[C] 纯文本查看 复制代码 01-课程回顾.avi
02-设计一个类,求圆的周长.avi
03-设计学生类案例.avi
04-内联函数.avi
05-函数默认参数和占位参数.avi
06-函数重载基本语法以及注意事项.avi
07-上午课程回顾.avi
08-externC浅析.avi
09-C语言和C++语言的封装.avi
10-尽量将成员属性设置为私有.avi
1 设计一个类,求圆的周长 1.1 class + 类名 { 成员变量 成员函数 } 1.2 公共权限 public 1.3 设计成员属性 1.3.1 半径 int m_R 1.4 设计成员函数 1.4.1 获取圆周长 int calculateZC(){} 1.4.2 获取圆半径 int getR() 1.4.3 设置圆半径 void setR() 1.5 通过类创建对象过程 称为 实例化对象 2 内联函数 2.1 内联函数引出---宏缺陷 2.1.1 宏缺陷: 2.1.1.1 必须要加括号保证运算完整 2.1.1.2 即使加括号,有些运算依然与预期结果不符 2.1.2 普通函数不会出现缺陷 2.2 C++提供 内联函数代替宏函数 2.3 关键字 inline 2.4 在函数声明和实现中同时加入关键字 inline 才称为内联 2.5 在成员函数前 都隐式加了关键字inline 2.6 有些特殊情况下 ,写了关键字inline也不会按照内联方式处理 2.6.1 出现循环 2.6.2 出现判断 2.6.3 函数体过于庞大 2.6.4 对函数进行取地址 2.7 总结: 内联函数只是给编译器一个建议,但是编译器不一定接受这个建议,好的编译器会自己给短小的函数前加上关键字inline 3 函数的默认参数和占位参数 3.1 默认参数 3.1.1 可以给函数的形参添加默认值 3.1.2 语法 形参 类型 变量 = 默认值 3.1.3 int func(int a, int b = 10 , int c = 10) 3.1.4 注意事项 ,如果有一个位置有了默认参数,那么从这个位置起,从左到右都必须有默认值 3.1.5 函数的声明和实现 只能有一个 提供默认参数,不可以同时加默认参数 3.2 占位参数 3.2.1 只写一个类型进行占位,调用时候必须要传入占位值 3.2.2 void func2(int a , int = 1) 3.2.3 占位参数也可以有默认值 4 函数重载 4.1 满足条件 4.1.1 同一个作用域下 4.1.2 函数名称相同 4.1.3 函数参数个数、类型、顺序不同 4.2 函数的返回值 不可以作为重载条件 4.3 注意事项 4.3.1 加const和不加const的引用可以作为重载条件 4.3.2 函数重载碰到默认参数 注意避免二义性出现 5 extern C 浅析 5.1 用途:在C++中调用C语言文件 5.2 C++中有函数重载,会对函数名称做修饰,导致调用C语言的函数链接失败 5.3 利用extern C可以解决问题 5.3.1 方法1: 5.3.1.1 在C++代码中加入 5.3.1.2 告诉编译器 show函数用C语言方式 做链接 5.3.1.3 //extern "C" void show(); 5.3.2 方法2: 5.3.2.1 在C语言的头文件中加入6行代码 5.3.2.2 #ifdef __cplusplus // 两个下划线 __ c plus plus 5.3.2.3 extern "C" { 5.3.2.4 #endif 5.3.2.5 5.3.2.6 #ifdef __cplusplus // 两个下划线 __ c plus plus 5.3.2.7 } 5.3.2.8 #endif 6 封装 6.1 C语言的封装 6.1.1 缺陷 将属性和行为分离 6.2 C++语言的封装 6.2.1 将属性和行为作为一个整体,来表现生活中的事物 6.2.2 将属性和行为 加以权限控制 6.3 访问权限 6.3.1 公共权限 public 类内 类外 都可以访问 6.3.2 私有权限 private 类内可以访问 类外不可以访问 6.3.3 保护权限 protected类内可以访问 类外不可以访问 6.4 class 默认权限 私有权限 而 struct默认权限是 公共权限 7 尽量将成员属性设置为私有 7.1 自己可以控制读写权限 7.2 可以对设置内容 加有效性验证
|