时间 :2022年9月2日  15点07分
笔记 :   chenxu
教程 :韦东山C++语言教程

===================================================================================================

框架主要是从下面两个方向入手:
1. 韦东山C++教程的全部的视频
2. 资料里面附录的 C++快速入门思维导图

大概是25节课

之后是文件中的学习框图 :

其中只学习三部分 :
1. C++基础知识
2. 面向对象编程
3. 高级编程
这三个总章,又分为很多个细节

下面是 C++基础知识的部分 :




。。。

整体的框图还是比较大的,所以可以慢慢的看这个框图相关的东西。

=====================================================================================================

1.C++基础知识

1.1 class是对struct的扩展

1.2访问控制

1.3this指针

1.4类和对象

1.5程序结构

类定义 (.h)
类实现 (.c)

命名空间:
.h/.cpp文件中:
namespace a
//声明或定义函数;
int fun();
void fun2()…

调用者源文件中:

  1. 直接使用:
    a::fun, a::fun2
  2. using声明:
    using a::fun; // 以后调用fun即表示a::fun
  3. using编译:
    using namespace a ; // 以后调用fun, fun2即可

1.6重载

函数名相同,参数不同(类型、数量、顺序不同)

1.7指针和引用

引用就是别名,引用定时 时必须初始化: int a; int &b=a; //b即为a的别名

1.8构造函数/析构函数

1.8.1 : 构造函数: 无返回值,函数名与类名相同, 可设置默认参数: fun(int a=1, int b=2)
1.8.2: 有默认构造函数,一旦实现了自己的构造函数就必须自己实现默认构造函数
1.8.3: 无参对象定义: Person p; 不能写为 Person p(); //后者是一个函数
1.8.4 : 类中含有对象成员时,先调用对象成员的默认构造函数,再调用类的构造函数
要调用对象成员的其他构造函数,可以这样写: Student(int sID) : id(sID) 构造函数的"“前加”:“,加上成员的初始化代码
对象成员:按定义时的顺序构造,与上述初始化代码顺序无关
析构函数被调用的顺序:相反
1.8.5: 构造顺序:按运行中定义对象的顺序调用构造函数,静态对象只调用一次构造函数; 全局对象在main函数执行前被构造
1.8.6: 拷贝构造函数: Person(const Person & s)
(1.) 用于:Person s(“lisi”); Person p(s);
(2.) 若不提供此函数,则调用默认拷贝构造函数, 对各成员变量进行值复制
1.8.7: 析造函数: 无返回值,无参数,函数形式为”~类名()" 对象销毁前瞬间,由系统自动调用析构函数

1.9new和delete

Person *p = new Person(); delete p;
Person *pers = new Person[10]; delete[] pers;

1.10静态成员

静态数据成员: Point operator+(cont Point& p1, cont Point& p2) /* p1,p2相加 /
静态成员函数: Point operator+(cont Point& p1) /
this 当前对象和p1相加 */

1.11友员

在类中声明非成员函数时加上friend,它即可访问类的私有数据成员

一个类的成员函数也可以是另一个类的友元
class A
private :
int a;
public:
friend void fun1(); // fun1不是A的成员函数也可以访问a
frined void B::fun2(); // B类的fun2也可以访问a

1.12运算符重载

前增量操作

类外函数:Point& operator++(cont Point& p1) /* p1增加后, return p1 /
成员函数:Point& operator++(void) /
this对象增加后, return *this */

后增量操作

类外函数:Point operator++(cont Point& p1, int b) Point n = p1; p1增加; return n;
成员函数:Point operator++(intb) Point n = *this; *this增加; return n;

返回结果
值返回:返回函数内部定义的局部变量;
该变量在函数执行时被创建,执行完毕时被销毁;
只返回值;效率低

引用返回:效率高

选择原则:不影响运算结果效率优先

1.13const成员函数

成员函数声明后面,加上const
void printInfo(void) const;
表示此函数没有修改操作

const对象只能调用const成员函数

2.面向对象编程

2.1封装

(1.)抽象出数据成员、成员函数

(2.)访问控制
2.1类本身
Private:界不可见,不能直接访问
Protected:界不可见,不能直接访问;子类可以访问
Public:外界可以直接访问

2.2继承访问控制

1.无论哪种继承方式,在派生类内部使用父类时并无差别
2. 不同的继承方式,会影响这两方面:外部代码对派生类的使用、派生类的子类

2.2 继承

2.3多态

3.高级编程

3.1抽象

3.2模板

3.3异常

4.智能指针(安卓扩展)

韦东山—C++快速入门—导航相关推荐

  1. 新手如何快速上手Linux,韦东山告诉你。

    第1章 单片机和Linux的区别 1.1.有哪些产品使用单片机或Linux? 所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux:GUI方面主要是QT/Android,它们都是运行于Li ...

  2. 目录导航《100天精通Python丨快速入门到黑科技》

    文章目录 一.100 天精通 Python 丨基础知识篇 基础知识篇 -- 01.C 站最全 Python 标准库总结 基础知识篇 -- 02.Python 和 Pycharm(语言特点.学习方法.工 ...

  3. 【51单片机快速入门指南】4.4:I2C 读取HMC5883L / QMC5883L 磁力计

    目录 硬知识 简介 操作模式 HMC5883L 连续测量模式 单次测量模式 闲置模式 QMC5883L 连续测量模式 待命模式 主要差异 寄存器 寄存器列表 HMC5883L QMC5883L 配置寄 ...

  4. 韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验

    来源:百问网 作者:韦东山 本文字数:924,阅读时长:3分钟 阅读本节前先阅读: Pinctrl子系统重要概念 GPIO子系统重要概念 基于GPIO子系统的LED驱动程序 1.1 确定引脚并生成设备 ...

  5. 韦东山:驱动和APP,根本不应该上升到互相鄙视的地步

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  6. 002_韦东山嵌入式Linux应用开发基础_实操碰到的问题集锦

    嵌入式Linux应用开发基础_韦东山教程思考笔记 配合<嵌入式Linux应用开发完全手册V5.1_IMX6ULL_Pro开发板> 文件目录 访问根/目录下,Filesystem Root目 ...

  7. 韦东山二期驱动视频-热拔插驱动——RK3399自制linux系统不支持HDMI热拔插问题分析

    背景: 公司的板子,对于HDMI的显示器热拔插不支持,只能在插入HDMI时启动才能输出,而当开机之后,再插入HDMI显示器则无输出,不知道原因. 推测如下: 1.设备树的引脚配置有误,导致插入HDMI ...

  8. 韦东山 嵌入式Linux应用开发基础知识 下【串口 IIC SPI

    10 串口 因为UART没有时钟信号,无法控制何时发送数据,也无法保证双方按照完全相同的速度接收数据.因此,UART为每个字节添加额外的起始位和停止位,以帮助接收器在数据到达时进行同步: 双方还必须事 ...

  9. 视频教程-韦东山生活实例演绎法讲解蓝牙-嵌入式

    韦东山生活实例演绎法讲解蓝牙 2003 年毕业于中国科学技术大学,电子专业.软件专业双学位.近10年嵌入式开发经验,曾ZTE公司负责Linux底层系统开发. 近5年作为特聘讲师在若干个有名的培训机构讲 ...

最新文章

  1. c++ string类型用法
  2. .NET可变性解析(协变和逆变)
  3. PMCAFF 微课堂 | 赶集、暴风影音这些优质App为什么都在做积分商城?
  4. 23种设计模式C++源码与UML实现--适配器模式
  5. 实例27:python
  6. OJ1066: 字符分类统计
  7. 文件操作(上传,下载,限制)
  8. layui表格展示数据时:返回的数据不符合规范,正确的成功状态码应为:code: 0
  9. TypeScript开发手册
  10. 25个学习要点帮助你从java菜鸟成为Java高手
  11. 蓝桥杯 ALGO-81 算法训练 动态数组使用
  12. [转载] Python算法
  13. 三星app图标不见了怎么恢复_手机便签的内容不见了怎么恢复?试试这款便签软件的时间轴功能...
  14. Unity 模拟两个小球位置变化,长度也动态变化
  15. 基本共射放大电路概念详解
  16. Ant Design of Vue去掉加载遮罩
  17. 手把手教你解决U盘快捷方式病毒
  18. 太原用计算机单位的工资,太原个税计算器_太原税后月薪|工资计算器_太原个人所得税查询 - Tax518...
  19. mhl数据线_superMHL接口诞生:只需五个针脚 干掉HDMI
  20. 华为数通知识点OSPF

热门文章

  1. 抽象类真的也可以被实例化(Java)
  2. 计算机丢失fmod event,TGP饥荒联机版缺少fmod_event.dll文件怎么办?具体解决方法介绍...
  3. 盒子塌陷及实战常用的总结,隐士转换
  4. 虚拟机linux ftp慢,虚拟机Linux下配置FTP服务器的方法
  5. JavaScript语言精粹——对象
  6. 向量空间、子空间、列空间
  7. 校招面经-银行产品岗
  8. 计算几何04_Bezier曲线与曲面
  9. 字符串函数和内存函数
  10. 卡方检验 原理_什么是卡方检验及其工作原理?