[1] Don’t panic! All will become clear in time; 
[2] You don’t have to know every detail of C++ to write good programs;
[3] Focus on programming techniques, not on language features;

there are six parts of this  book:

1.Introduction  ch1-3

    overview

2.Part1  ch4-9  

    a tutorial introduction to C++’s built-in types and the
    basic facilities for constructing programs out of them.

3.Part2  ch10-15

    a tutorial introduction to object-oriented and generic programming

    using C++.

4.Part3  ch16-22

    present the C++ standard library.

5.Part4  ch23-25  

    discuss design and software development issues

6.Appendices  

    A-E provide language technical details

Advice:

[1] When you program, you create a concrete representation of the ideas in your solution to some
problem. Let the structure of the program reflect those ideas as directly as possible:
  [a] If you can think of ‘‘it’’ as a separate idea, make it a class.
  [b] If you can think of ‘‘it’’ as a separate entity, make it an object of some class.
  [c] If two classes have a common interface, make that interface an abstract class.
  [d] If the implementations of two classes have something significant in common, make that
    commonality a base class.
  [e] If a class is a container of objects, make it a template.
  [f] If a function implements an algorithm for a container, make it a template function implementing    
    the algorithm for a family of containers.
  [g] If a set of classes, templates, etc., are logically related, place them in a common namespace.

[2] When you define either a class that does not implement either a mathematical entity like a
matrix or a complex number or a low-level type such as a linked list:
  [a] Don’t use global data (use members).
  [b] Don’t use global functions.
  [c] Don’t use public data members.
  [d] Don’t use friends, except to avoid [a] or [c].
  [e] Don’t put a ‘‘type field’’ in a class; use virtual functions.
  [f] Don’t use inline functions, except as a significant optimization.

最新文章

  1. 电子商务网站SQL注入项目实战一例
  2. jQuery uploadify 文件上传
  3. Clone Graph leetcode java(DFS and BFS 基础)
  4. java多线程执行问题
  5. [转]Android逆向之动态调试总结
  6. CSS3发光字动画
  7. JqueryMobile动态生成listView并实现刷新的两种方法
  8. HDU2023-求平均成绩
  9. EasyUI - Progressbar 进度条控件
  10. c#中,DataTable 过滤重复行
  11. 【Alpha】Daily Scrum Meeting——Day5
  12. MySQL查询(进阶)(每个标点都是重点)
  13. C语言malloc函数为一维,二维,三维数组分配空间
  14. day11.1函数进阶 列表集合 字典中的函数变量,函数作为形参
  15. HTTP Health Checks
  16. servlet运行“/*”引起的java.lang.StackOverflowError
  17. VBA找相似体积的单元格值
  18. 林兴爆料小程序很快可以支持各个 App 直接打开小程序
  19. PHP单点登陆
  20. ios开发之--tableview单选/多选实现(非tableview的editing状态)及默认选中

热门文章

  1. Java abstract class 和 interface 的区别
  2. 【POJ2828】Buy Tickets(线段树)
  3. 【接口测试】jmeter的使用
  4. c++ 对象的内存布局
  5. SpringMVC接收页面表单参数
  6. JS valueOf与字符串
  7. 学习 OPenGL
  8. install LLVM
  9. Appium移动自动化测试之获取appPackage和appActivity
  10. ArcEngine编辑保存错误:Unable to create logfile system tables