C++程序设计:缺省参数与成员函数解析

需积分: 48 151 下载量 57 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
"C++程序设计--谭浩强(完整版)" 在C++编程中,缺省参数的成员函数是一个非常实用的特性,它允许函数在被调用时,如果某些参数没有被显式地给出值,那么可以使用预设的默认值。这在创建灵活的API或库时特别有用,因为它减少了用户必须提供的参数数量,同时仍能保持功能的完整性。 在提供的代码示例中,类`A`有两个成员函数,一个是`Sum()`,用于返回成员变量`x`和`y`的和,另一个是`Set()`,用于设置`x`和`y`的值。`Set()`函数就使用了缺省参数,其中`b`参数默认为10.0。这意味着当调用`Set`函数时,如果不提供第二个参数,`y`将被设置为10.0。 ```cpp void Set(float a, float b = 10.0) { x = a; y = b; } ``` 在`main`函数中,我们可以看到`Set`函数的两种使用方式。`a1.Set(2.0, 4.0)`指定了两个参数,而`a2.Set(20.0)`只指定了一个参数,因此`a2.y`使用了默认值10.0。 ```cpp A a1, a2; a1.Set(2.0, 4.0); // a1.x=2, a1.y=4 a2.Set(20.0); // a2.x=20, a2.y=10 ``` 这段代码展示了如何利用缺省参数来简化对象的初始化过程。在`a2`的例子中,由于我们没有提供`y`的值,所以它自动使用了`Set`函数中的默认值10.0,这样就无需在每次调用时都显式地提供所有参数。 C++语言的发展历程也是一个重要的主题。C++是在C语言的基础上发展起来的,C语言最初由Dennis Ritchie和Brian Kernighan设计,用于编写UNIX操作系统。C++由Bjarne Stroustrup在1980年代初期发展,增加了面向对象编程的支持,如类、封装、继承和多态等概念。C++的目的是提供一种既具有高级语言的抽象能力,又保留了C语言低级特性的编程语言,例如直接内存操作和位运算。 C++语言的特点包括: 1. 结构化编程:C++支持结构化的编程方法,使代码组织清晰,易于维护。 2. 高级和汇编语言特性:丰富的运算符集,包括对数据的算术、逻辑和位运算。 3. 数据结构和算法:C++支持动态和静态数组、链表、树等复杂数据结构,以及各种算法实现。 4. 可移植性:C++编写的程序可以轻松地在不同平台间移植,只需要少量或无需修改。 5. 程序设计自由度大:C++的语法较为灵活,但这也意味着对于初学者来说,理解和调试代码可能更具挑战性。 C++的缺省参数成员函数是提高代码可读性和减少重复工作的重要工具,而C++语言本身则是一种强大且广泛使用的编程语言,兼具高效和灵活性。