设计**稳定、具有专业水准的计算机软件,需要具备多方面的能力,例如,熟悉应用领域的相关知识,能合理地选择和设计各种数据结构和算法,精通软件工程相关知识和方法等。但无论如何,熟练的编程技巧仍是**的基础能力。因为,无论多么丰富的领域知识,多么**的数据结构和算法,多么良好的软件架构,*终都需要转化为计算机程序,才能被计算机所理解,进而指挥计算机按照人类的设想求解问题。在计算机发展的早期,人们必须通过在纸带上打孔的方式编写计算机程序。**程序设计语言的出现,大大降低了人类与计算机沟通的难度。但计算机还未发展到能理解人类语言、动作、表情的程度,人们还是需要学习程序设计语言的语法和程序设计技巧,才能**地与计算机沟通。c++是在c语言的基础上发展起来的,它继承了c语言的诸多优点。而面向对象程序设计特性的加入,又大大提高了程序开发、维护的效率。因此,十几年来,c++一直是使用*广泛的计算机**程序设计语言之一。
本书的作者Y.Daniel Liang教授是国际知名的计算机教育家和专业书籍作家。多年来一直致力于教学方法的改革和教材的撰写,已与Prentice Hall公司合作出版了30余本计算机科学领域的专业书籍。这些书籍行销全世界,特别是Liang Java系列丛书,是*畅销的Java教材,被世界各地的高等院校广泛采用。本书是他在c++领域奉献给广大读者的*新力作。
本书分为三部分。**部分介绍基础程序设计方法,包括基本数据类型和运算、分支语句、循环、函数、数组、指针和c字符串以及递归等内容。第二部分介绍面向对象程序设计方法,主要包括对象和类的基本概念、对象和类的深入内容、继承和多态、文件输入和输出、运算符重载及异常处理等内容。第三部分介绍了数据结构方面的基础知识,包括模板、链表、栈、队列、树、堆、优先队列、算法效率、排序算法、STL容器、STL算法等内容。
“基础先行方法”是本书区别于其他同类教材的*大特色。这种方法是指,并不在教学开始之初向学生介绍面向对象程序设计方法,而是首先介绍分支语句、循环、函数、数组等基础的程序设计方法,随后再引入面向对象程序设计方法。这种方法有利于学生循序渐进地掌握c++语言的程序设计技巧,已被国际计算机教育学届广泛接受。本书的另一特色是“清晰简明”的撰写风格,通过简短的、吸引人的例子来清晰地阐述概念,更容易提高学生学习的兴趣。
如果你还是个计算机程序设计的门外汉,本书可以将你引入这个广阔而引人入胜的领域;如果你对c++程序设计已经有所了解,本书也是一本很好的参考书籍。当然,如果你是一名计算机专业的在校学生,本书将是一本****的**语言程序设计课程的教材。
参与本书翻译工作的有王刚、刘晓光和刘璟,由王刚完成全书的审校工作。因时间仓促,翻译若有不妥之处,敬请读者批评指正。