【前言】:
用老罗来学UE蓝图:
https://zhuanlan.zhihu.com/p/135297007zhuanlan.zhihu.com再开个脑洞,用蓝图来类比学习C++基础知识。
C++ 刚开始学,所以本篇知识点不是特别全有些地方也可能不是特别准,望谅解,以后会慢慢补上。如有错误麻烦大佬们指出,感激不尽。
【杂谈】:
另:多少菜鸟的噩梦啊。
之前就是这样学习的,从书上提取知识点笔记记了一大堆,想着把书从薄读到厚,再从厚读到薄。
结果发现屁用都没有,该写程序的时候啥都不会,琐碎的知识点实在太多了。
所以:
- 知行合一 ——实战啊,不要一上来就把一本书从头到尾看一遍。尤其是这种天书是用来查的,跟字典一样,不是用来看的
- 抓住重点,像那些比较难理解的知识点,琐碎的知识点以后会随着实战慢慢会补充上。
- 总分——视频(教程)转文章——把别人的长视频(中英文)转化为文章,复习随时打开,既方便,逻辑又清晰,还省流量。
- 分总——文章转图片——把别人的多文章转化为思维导图,将零碎重要知识点总结成一个框架以消化吸收,代码细节先不要管,先理解它有什么作用,含义,实战上手练习时再细究这些细节。
【导图】:
一、 C++ Intro
【1.1】C++的诞生
Bjarne Stroustrup (来跟我一起唱,杯啊你 死招死咒噗~)唵嘛呢叭咪吽
它是在大佬头发郁郁葱葱的时候于1979年设计开发的,最初命名为带类的C,1983年更名为C++。C艹(四声、谢谢合作)对C进一步扩充和完善,而且随着时间发展会有不同的标准。
下面为五代标准。
- 1998——C++98
- 2003——C++03
- 2011——C++11
- 2014——C++14
- 2017——C++17
你们这些大佬啊,再研究研究这就是你们以后的下场,标准发型!毫无回天之术 。
【1.2】重要组成部分
- 核心语言——提供所有构建块,包括变量、数据类型、常量等
- C++ 标准库——提供大量函数,用于操作文件、字符串等等
- 标准模板库(STL)——提供了大量的方法,用于操作数据结构等
【1.3】C++面向对象开发的四大特性
- Encapsulation 封装——数据封装将实现细节与相关数据分离开,防止函数直接访问类类型的内部成员。
- Abstract 抽象——抽象类不能被用于实例化对象,只能够用作接口使用,接口描述了类的行为和功能,而不需要完成类的特定实现。(如动物抽象类不能实例化出猴子、老虎这样的对象)。
- Inherited 继承——BaseClass基类 & DerivedClass派生类,继承允许我们依据一个类来定义另一个类,这使得创建和维护一个应用程序变得更容易,也达到了重用代码功能和提高执行效率的效果。
- Polymorphic 多态——有了多态,我们可以有多个不同的类,都带有同一个名称,但具有不同实现的函数,甚至函数参数可以相同。虚函数是C++中用于实现多态的机制。核心理念就是通过基类访问派生类定义的函数。
二、C++基本语法
【2.1】Class类 & Object对象
基类——class Shape ;(有宽高属性)
基类的对象—— Shape sha; (类只有一个,但是对象可以有很多个,如Shape sha1、Shape sha2)
派生类——class Rectangle : public Shape ;(继承自基类,新添加了计算面积函数,宽乘高就行了)
派生类的对象——Rectangle Rect;
【01】:Class类
对同一类对象的共同属性和行为进行概括,形成类。比如人类、动物类、植物类等。如常有的属性是 颜色、大小、高低、重量、年龄等。
【02】:Object对象
对象Object,它是类的实例,用来特定类,所以是对象,常常定义属性的值。