韦东山—C++快速入门—导航

时间 :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.智能指针(安卓扩展)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值