《C++项目开发实战入门》是一本以实战入门为主题的编程教程。本书共包含8个项目作为案例,从软件工程的角度出发,按照项目的开发顺序,全面地介绍了项目开发流程。从开发背景、系统功能分析等内容,读者可以系统地学习项目开发的各个方面。对于初学者来说,通过项目实战开发学习编程是一种很有效的方式,本书正是针对这一需求而编写的。无论是对于编程的初学者还是对于希望了解项目开发流程的读者来说,本书都是一本值得推荐的教材。
c++项目开发实战入门 电子书封面
读者评价
很多C++实例项目,对于像进阶学习C的朋友们很有用,电子版更有优势,直接放在手机里看
内容介绍
《C++项目开发实战入门》以坦克动荡游戏、桌面破坏王游戏、快乐吃豆子游戏、植物大战僵尸修改器、软件注册机、365系统加速器、Q友——做你自己的QQ和股票分析仿真系统共8个项目为案例,从软件工程的角度出发,按照项目的开发顺序,系统、全面地介绍了项目开发流程,从开发背景、系统功能分析,业务流程分析、数据库建模到项目开发,每一过程都进行了详细讲解,旨在使读者真正获得程序开发经验,提高项目开发能力。
《C++项目开发实战入门》应用的主要技术及知识点有:GDIPlus、 碰撞检测、自动寻路实现、鼠标消息处理、Win32 绘图、键盘消息处理实现、逆向工程 、内联汇编 + DLL 注入实现、注册表操作、加密算法 、系统信息获取实现、界面美化、文件操作 、系统进程管理、窗口管理实现、SQL Server、MFC 、自绘K线图 、网站数据抓取实现、XML、Socket 编程实现。
本书是一本让初学者通过项目实战开发学编程的超值图书。
目录
- 第1章坦克动荡游戏(GDIPlus+碰撞检测+自动寻路实现)
- 第2章桌面破坏王游戏(鼠标消息处理+GDIPlus实现)
- 第3章快乐吃豆子游戏(Win32绘图+键盘消息处理实现)
- 第4章植物大战僵尸修改器(逆向工程+内联汇编+DLL注入实现)
- 第5章软件注册机(注册表操作+加密算法+系统信息获取实现)
- 第6章365系统加速器(界面美化+文件操作+系统进程管理+窗口管理实现)
- 第7章Q友——做你自己的QQ(MFC+XML+Socket编程实现)
- 第8章股票分析仿真系统(SQLServer+MFC+自绘K线图+网站数据抓取实现)
C++语言和库特性学习 C++的学习,我个人认为,主要分为两个部分,一个是对C++语言特性的学习,另一个是对C++库的学习。 从语言层面上来说,你要让自己熟悉现代C++语言特性,我这里主要指的是C++11,C++14, C++17标准,语言标准的内容可以参考 cppreference language c++ 的内容,C++新添加的语言特性:auto, constexpr, lambda expression, 多线程库, 可变参数模板,右值引用,Move/Forward语义,Universal Reference/R-value Reference等基本概念需要熟悉一下。具体内容的话,我推荐看看Scott Meyers的 Effective Modern C++ 。 标准库的学习首当其冲的就是STL(Standard Template Library)的学习。在学习C++的STL的时候,可以看看源码,你会学到许多东西,比如:数据结构和算法。其中常用的算法分析技术,例如:均摊分析,随机算法分析(结合一些概率论知识),在学习STL源码的时候,你会频繁使用到。这会加强自己对这些算法分析技术的了解程度。 Technical Specification提案(library上和language上):C++有很多最新语言层面和库层面的提案。比如在C++标准委员会搞的这个 IsoCpp-Current Status 上,我们就可以看到C++新标准将考虑支持的一些库层面和语言层面重要的提案,列举几个我比较关注的:Parallelism, Concurrency, Transactional Memory,File System, Networking,Concepts, Modules。这个内容比较复杂,感兴趣的朋友可以查阅链接看看。 给一些建议:让自己熟悉 Boost,学习一些编译器支持的特性,学习泛型编程和模板元编程技术。具体可以看看Boost程序库完全开发指南,Boost程序库探秘等书,中文的并且比较通俗易懂。然后找一个自己感兴趣的domain, 开始实施验证自己的想法;然后发现做了这些之后,你的C++就入门了。
C++学习路径 要开始写出别人不喷你的代码,你至少要花几天时间看看 C++Primer 和 Effective C++,为了学习C++11,请翻阅 Effective Modern C++。然后请查阅资料了解几种编程范式:面向过程,面向对象(封装,抽象多态),明白泛型编程,函数式编程等基本概念。然后了解下和C++对于内存管理和对象生命周期的机制(可以看看allocator源代码)。 学习这些东西的代码可以放在你的 github 仓库上,心得可以放在你的个人博客站点。这里提供两个搭建博客站点的工具: word press 搭建带数据库的博客站点,或者使用 Github Page 搭建轻量级的博客站点。域名的话可以在 namecheap 上买,服务虚拟机(VPS)的话可以选择阿里云或者 digitalocean 。举个例子,我就把学习的代码放在 CPP1x-Study 和 STL-Study 上;我的中文博客站点 blog.cheyulin.me, 我的英文博客站点 en.blog.cheyulin.me 。