高级c++需要学习的内容,希望大家有好的建议不吝留言,谢谢

转自:https://zhuanlan.zhihu.com/p/77089496

C++语法太过繁杂,很多语法特性一辈子也用不上。对于初学者来说,学完前7章就能写简单的程序。

1. 基础部分

1.1. 语言

一、 C C 和 和 C++ 的特点与区别?

参考答案:

答:(1)C 语言特点:

1) 作为一种面向过程的结构化语言,易于调试和维护;

2) 表现能力和处理能力极强,可以直接访问内存的物理地址;

3) C 语言实现了对硬件的编程操作,也适合于应用软件的开发;

4) C 语言还具有效率高,可移植性强等特点。

(2)C++语言特点:

1) 在 C 语言的基础上进行扩充和完善,使 C++兼容了 C 语言的面向过程特点,又成为了

一种面向对象的程序设计语言;

2) 可以使用抽象数据类型进行基于对象的编程;

3) 可以使用多继承、多态进行面向对象的编程;

4) 可以担负起以模版为特征的泛型化编程。

二、 阐述 C++ 的多态

参考答案:

编译时多态:主要指泛型编程

运行时多态:

C++的多态性用一句话概括:在基类的函数前加上 virtual 关键字,在派生类中重写该函

数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用

派生类的函数;如果对象类型是基类,就调用基类的函数。

1) 用 virtual 关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数;

2) 存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的

虚指针。虚表是和类对应的,虚表指针是和对象对应的;

3) 多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数的多态

性。;

4) 多态用虚函数来实现,结合动态绑定.;

5) 纯虚函数是虚函数再加上 = 0;

6) 抽象类是指包括至少一个纯虚函数的类;

纯虚函数:virtual void fun()=0;即抽象类,必须在子类实现这个函数,即先有名称,没

有内容,在派生类实现内容。

 

 三 c++进阶到高级需要学习的内容

学习C/C++的伙伴可以私信回复小编“资料”领取全套免费C/C++学习资料、视频

  1. 数据结构和算法:《大话数据结构》

这实在是一本对新手非常友好的书,暂时先看完前5章就够了。此时应该多做一些练习,可以是简单的小软件或小游戏。

C++萌新到大牛,要看哪些书?

  1. C++标准库:《C++ Primer 第五版》

没错还是这本书,之前7章学了基础语法。现在继续学习8~12章,涵盖了标准库常用组件的基本用法。想完整学习标准库的同学可以在未来深入阅读《C++标准程序库:自修教程与参考手册》。

进阶学习:

此时可以选择性地把《C++ Primer 第五版》剩下的部分看完,第15章面向对象是重要内容,需要认真研究。

此时也可以把《大话数据结构》看完,或换一本正经的深入讲解算法的书,比如《算法导论》。

C++萌新到大牛,要看哪些书?

  1. 《Effective C++》、《C++编程规范》

C++给了程序员过高的自由度,这反而不是一件好事,这两本书告诉你使用C++哪些做法是正确的,哪些是错误的,C++进阶必读。还有一本补充读物《More Effective C++》可选读。

深入研究:

  1. 《深入探索C++对象模型》

深入分析了C++语言本身的设计思路和实现方式

  1. 《STL源码剖析》

带你阅读标准库源码,提升数据结构、模板技术相关能力。

  1. 《C++设计新思维》

讲元模板技术使用地出神入化,除非要自己写库,否则很少有机会用到这些技术。但真学会了真的可以出神入化。

掌握这些知识后,就可以算是C++高手了。但学软件开发不仅仅是学一门语言,根据不同的行业还需要学习windows开发、linux开发、界面开发、网络编程,软件工程、面向对象的分析和设计等等非常多的知识。这些不用全都学会,工作中用到什么学什么就可以了。

原文地址:https://www.cnblogs.com/yuyuanbaobei521/p/14452767.html