C++学习:函数重载与面向对象程序设计

需积分: 48 1 下载量 198 浏览量 更新于2024-08-19 收藏 17.46MB PPT 举报
"这篇文档是关于C++学习的笔记,主要讨论了函数的区别,特别是重载函数的最佳匹配原则,以及C++的相关背景和历史。" 在C++编程中,函数的区别是一个重要的概念,特别是当涉及到类型相近的重载函数时。重载函数允许在同一作用域内使用相同名称但参数列表不同的函数。决定哪种重载函数是最佳匹配的依据有以下四个层次: 1) **精确匹配(exact match)**:如果一个函数调用的参数类型与函数定义的参数类型完全匹配,那么这就是最理想的匹配。 2) **类型提升(promotion)**:如果参数类型可以通过简单的类型提升(如将char提升为int)来匹配,那么这个匹配次于精确匹配。 3) **标准转换(standard conversion)**:如果需要进行更复杂的类型转换,如从派生类到基类的转换,或者从整数类型到浮点类型的转换,这些都属于标准转换范畴。 4) **类类型转换(class-type conversion)**:在类层次结构中,如果存在显式的转换构造函数或类型转换操作符,这种转换会被考虑进来。 接着,笔记提到了C++的概述。C++是由比雅尼·斯特劳斯特鲁普博士在1979年开发的,最初命名为"C with Class",最终演变成现在的C++。1998年,C++有了ANSI/ISO标准,同时斯特劳斯特鲁普的《The C++ Programming Language》第三版发布。C++是一种多范式语言,支持面向对象编程、数据抽象以及泛型编程。 C++的发展经历了三个阶段:从最初的面向对象语言,到引入泛型编程(如STL和Boost库),再到后期的模板元编程(如Loki和MPL)。C++在软件开发中占据着重要地位,广泛应用于嵌入式系统、游戏编程、网络编程和系统编程等领域。 课程介绍部分提到,这是一门必修的高级技术课程,总学时72学时,每周有理论题和编程题的作业,学生需要在规定时间内通过moodle平台提交。课程内容包括C++概述、C与C++的关系、面向对象程序设计以及编写第一个C++程序等主题。