C++编程:缺省参数的成员函数解析

需积分: 10 6 下载量 112 浏览量 更新于2024-08-19 收藏 8.79MB PPT 举报
"这篇资料是关于C++编程中缺省参数的成员函数的讲解,以谭浩强的C++教程为例。在这个例子中,类A包含一个无参数的Sum成员函数,一个带有缺省参数的Set成员函数,以及一个Print成员函数。在main函数中,创建了两个A类的对象a1和a2,分别调用了Set函数进行初始化,并展示了如何使用缺省参数和不使用缺省参数的情况。" 详细内容: 在C++中,缺省参数是一种便捷的特性,允许函数在调用时不必提供所有参数值。当函数定义时,可以为某些参数指定默认值,这样如果调用该函数时没有提供这些参数,就会使用默认值。在上述代码中,`void Set(float a, float b=10.0)` 函数的第二个参数 `b` 就有一个缺省值 `10.0`。 成员函数 `Set` 被用来设置类A的成员变量 `x` 和 `y` 的值。调用 `a1.Set(2.0, 4.0)` 显式地设置了 `a1` 的 `x` 为2.0,`y` 为4.0,而调用 `a2.Set(20.0)` 时,因为只提供了 `a` 的值,所以 `b` 使用了默认值10.0,结果 `a2` 的 `x` 被设为20.0,`y` 被设为10.0。 `Sum` 成员函数返回 `x` 和 `y` 的和,而 `Print` 函数用于打印 `x` 和 `y` 的值。在主函数 `main` 中,通过 `a1.Print()` 和 `a2.Print()` 分别输出了 `a1` 和 `a2` 的状态,以及它们的 `Sum` 值。 C++的发展历程被简要提及,起源于BCPL和B语言,由Dennis Ritchie和Brian Kernighan在B语言基础上创建了C语言,后来为了增强面向对象特性,发展成了C++。C++语言的特点包括: 1. 结构化编程,语法简洁且灵活,适合各种规模的项目。 2. 拥有高级语言和汇编语言的特点,支持丰富的运算符,包括位运算,以及灵活的数据结构。 3. 程序可移植性强,能在不同平台之间轻松迁移。 4. 语法结构相对宽松,给程序员很大的自由度,但也增加了调试难度。 对于初学者,理解和掌握C++的语法和规则至关重要,因为即使编译通过的程序,在运行时也可能出现问题。熟练运用C++编写程序需要对语言有深入的理解,并通过不断实践来提高调试技巧。