有一个读者向谭浩强老师提出了这样一个问题:从C到C++的最大变化就是面向对象,这也是初学者比较难于理解的,要想把C++说得比较清楚可能还是要《C++Primer》那样的鸿篇巨著,但又有多少人能真正把它从头至尾读完并领会其真意?谭老师又是如何将这本《C++程序设计》写得如同《C程序设计》一样易懂易学,而又不失C++的内涵和实质呢?对于这个问题,谭老师的体会是很深的:“我在写这本书之前曾经和许多高校老师和同学们交流过,通过调查发现,教师从一开始就完全摒弃面向过程的程序设计而立即引入面向对象的概念,学生是很难接受的。一般的学校进行程序设计教学,大多从结构化程序设计开始,后续的课程可能会安排一门面向对象程序设计。但不要把面向对象看作是唯一有效的,不要把面向对象和面向过程隔离开来甚至对立起来。面向对象方法在处理大型程序设计时有着明显的优势,但在处理科学计算问题时,有时候面向过程的程序设计显得更为便捷,例如求解一个三角形的面积问题我们完全没有必要去设计一个类再来进行相关的处理。这样简单的问题用面向对象来解决如同杀鸡用牛刀,没有必要使之人为的复杂化。C++是一种混合语言,既支持面向过程的程序设计,又支持面向对象的程序设计。本书从面向过程的程序设计入手,随后介绍基于对象的程序设计和面向对象的程序设计,这样思路清晰,步步深入,难点分散,台阶较小,读者很容易接受。要向同学们解释清楚,究竟C++都能做什么,什么情况用面向对象程序设计……学生通过C++既可以学习到面向过程的程序设计的知识,也可以学习到面向对象的程序设计的知识。”