首页 > 刚刚从C过度到C++的面向对象编程, 应该做些什么练习才能让C++中许多零散的知识点得到应用呢

刚刚从C过度到C++的面向对象编程, 应该做些什么练习才能让C++中许多零散的知识点得到应用呢

有一种无从下手的感觉啊


要说做练习,我最推荐读一下STL源码剖析(老书一本),跟着里面的例子自己写一个 C++ 容器,比如亲手实现一个 B+ 树什么的。

C++ 是面向对象的,但并不是必须得面向对象,像 java 这种纯粹面向对象的语言写多了就会非常烦,C++ 这种面向对象和面向过程相结合的语言深入学习是会很舒服的,可以找到适合项目的模式。

标准库里面的容器就是个很好的适度面向对象例子,在了解标准容器怎么设计的(比如 vector)就明白不少 C++ 知识点:class 声明、构造/析构、函数重载、运算符重载、模板……然后再自己写一个容器练练手,先从不支持模板的简单容器入手,再一步步符合标准,加入迭代器、符号重载、模板、allocator……等你能写一个高效正确的容器适合,大概就已经了解 C++ 这门语言了~

P.S. C++ 几乎是学习曲线最陡峭的语言了,觉得不好学习和运用是正常的。
P.S.S. 个人不是很推荐从项目入手来学习 C++。国内编程的基础教育本来就比较差,假如再用上实用主义的学习方法的话,上手很快但基础就太不牢靠了。我见过不少写了多年 C++ 还不能写出一个符合标准的容器类的人,这样的程序员来设计/实现大型 C++ 项目简直是个灾难。能有多糟糕,请左转参考 cocos2d-x v2.x 的源码~


Qt入门C++确实不错,Qt把C++封装的和C#一样简单了。。。直接看Qt的开源工程,等你C++熟练了以后,可以考虑看些C++的牛逼开源工程


建议写一个 QT 的小项目。
QT 的 API 设计的还是比较合理的(个人认为),能帮助你掌握一些常用技巧

QT 的资料挺多的,个人推荐 http://www.devbean.net/2012/08/qt-study-road-2-intro/


边做项目 边体会设计模式
做项目的过程中会锻炼c++语法,用法什么的,另外还会踩一些坑,坑踩多了就ok了
在项目中灵活适度使用设计模式会加深对面向对象的理解

【热门文章】
【热门文章】