设为首页收藏本站 |天气与日历| 2025-07-02 星期三 01:17:00 乙巳(蛇)年 六月初八 丑时
     
切换到窄版

私人站点

 找回密码
 立即注册
搜索
查看: 242|回复: 0

C++的一些语法特性.二

[复制链接]

954

主题

954

帖子

3879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3879
发表于 2022-1-5 17:09:16 | 显示全部楼层 |阅读模式

[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 可以对设置内容 加有效性验证

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|编程站点 ( 冀ICP备2023028127号-2 )|友链申请|

GMT+8, 2025-7-2 01:17 , Processed in 0.087471 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表