"全局变量-C++入门课件"
在C++编程语言中,全局变量和局部变量是两种重要的变量类型,它们各自有不同的作用域和生命周期。全局变量是在程序的任何函数外部定义的变量,可以在程序的任何地方被访问,除非被局部变量遮蔽。它们在整个程序运行期间一直存在,直到程序结束。例如,`int p=1, q=5;` 在这个例子中,`p` 和 `q` 就是全局变量,可以在`main()`函数和`f1()`函数中使用。
局部变量则是在函数内部定义的变量,只在该函数的作用域内有效。一旦函数执行完毕,局部变量就会被销毁。例如,在`f1()`函数中的`int b, c;` 和 `main()`函数中的`int m, n;` 都是局部变量。它们在各自的函数内部有效,无法在函数外部访问。
具有缺省参数值的函数是C++提供的一种便利特性,允许在定义函数时为参数设定默认值。如果在函数调用时没有提供对应的参数值,那么将自动使用默认值。例如,`int fac(int n=2)` 函数定义了一个缺省参数 `n` 为2。如果不提供参数,`fac()`会使用默认值2。在示例中,`fac(6)` 返回720,而 `fac()` 返回2,因为后者使用了缺省参数。
函数的重载是C++的一个核心特性,允许在同一作用域内定义多个同名但参数列表不同的函数。这通常用于实现不同功能但名称相关的函数。重载函数的关键在于参数的数量、类型或者顺序必须有所不同,以便编译器能够根据实际传递的参数类型来选择正确的函数版本。在示例中,`int fun(int a, int b)` 和 `int fun(int a)` 是两个重载的函数,分别实现了加法和平方运算。
要注意的是,当定义具有缺省参数的函数时,缺省参数必须从右向左设置,且只能在函数原型中定义一次。例如,`float v(float, float=10, float=20);` 是正确的,而`int area(int long=4, int width)` 是错误的,因为它尝试在函数定义时再次设置缺省值。
总结来说,本课件主要介绍了C++中的全局变量和局部变量的概念,以及具有缺省参数值的函数和函数重载的用法。这些基础知识对于C++初学者至关重要,它们帮助开发者理解和掌握如何在不同范围内存储和管理数据,以及如何设计灵活多样的函数接口。