写在开头
本学期即将开始进行面向对象编程——C++的学习,说实话自己还蛮紧张的,毕竟自己C语言学的就是一知半解,再进阶到C++这个庞然大物,更显得有些力不从心,不过不要紧,逐渐增长对自己所学内容的兴趣,再渐渐提升对知识的理解,就是提升自己最好的途径。请忘掉那些容易让自己的分心的东西,全心全意投入到C++的学习中去吧!
由于自己现在并不清楚C++知识的诸多细节,所以我并不清楚自己接下来写的学习笔记在今后实践过程中会不会用到,所以我写下的大多是我认为比较重要的知识点以及我不太理解的内容,但这并不代表这些知识一定是在使用C++编程过程中一定会经常用到的知识点,所以这是务必在开头要着重提醒的,如果有读者有幸能够阅读到相关文章,请务必了解这一点。
这部系列笔记依托的书籍是Stephen Prata写的《C++ Primer Plus》(第六版)中文版,由于在之前已经学习了C语言,所以这本书可能会比较啰嗦,就当是对C语言的一个复习吧。
能够感受到自己在不断汲取知识是一件快乐的事情
有关C++的预备知识
C++在C语言的基础上,添加了对面向对象的编程(OOP)以及泛型编程的支持(好吧,我现在并不能理解这两个概念),带来了比C语言更加强大的功能,同时,也意味着有更多的内容需要去学习。
-
面向对象的编程
在学习C语言时,经常接触到的一句话就是 数据结构+算法=程序,,在此基础上,C语言添加了结构化(或者说模块化)的编程思想以及“自顶向下”的编程方法,这样的编程方法使得程序看起来更加清晰,也比较容易调试修改,但是在处理大型程序时仍然会出现问题(不过,到目前为止,我做过的最大的C语言项目就是与队友合作完成的几百行的调度问题)。C++的OOP提供了一种新的思路,它强调的不再是一个过程,而是数据,OOP试图让语言来满足问题的要求,理念是设计与问题本质相对应的数据格式,这种新型数据格式在C++中用类来描述,而对象就是根据这种规范构造出的现实存在的数据实体,例如,类可以描述北京邮电大学学生的基本特征(姓名、性别、学号、专业等),而对象就可以表示一个特定的人,比如说我的相对应的信息。从低级组织(如类)到高级组织(如程序)的处理过程叫做自下而上(bottom-up)的编程。在这种情况下,就出现了相当多有用的类,这也是C++的一大优点。 -
泛型编程
如果说OOP是管理大型项目的工具,那么泛型编程则是处理常见任务的工具。为了解决尽可能多的问题,泛型函数通常不是针对某一个特定问题,而是对一类问题提出解决方案,C++模板提供了解决这种问题的机制。 -
关于C++的其他问题
与C语言类似,C++代码的运行需要经过编译、链接、执行等过程,本书中的C++代码规则主要依据C++98标准,同时会介绍一些C++11新特性,这为C++的兼容提供了基础。
以上就是在进入C++学习时值得注意的一些概念和问题,接下来,就让我们开始进行具体的学习吧!
是时将近三月,北京已经有一点春天的气息了,只不过风吹过来,隐约还是能感受到冬天尚未离去,把自己喜欢的苏轼的一句词写在下面,作为开春的序曲吧。
春色三分,二分尘土,一分流水。细看来不是杨花,点点是,离人泪。
网友评论