C++编程:何洁月教授的面向对象课程讲解

需积分: 10 3 下载量 54 浏览量 更新于2024-08-19 收藏 3.83MB PPT 举报
"东南大学C++课程,由何月洁教授主讲,涵盖了C++的基础到面向对象编程的概念。课程旨在建立计算机程序设计基础,教授C++语言的基本语法和面向对象思想,提升学生的编程和调试能力。课程内容包括:C++语言概述、基本数据类型和表达式、输入输出、控制结构、自定义数据类型、函数、类与对象等,并深入探讨了函数模板、类模板等高级特性。" 在C++编程中,作用域是标识符(如变量、函数名)的有效范围,它决定了在哪一部分代码中可以访问该标识符。"块作用域"是指在一对大括号 `{}` 内声明的变量,它的作用域仅限于该大括号内的代码。例如,在函数`fun`中声明的变量`a`和`b`,它们的作用域分别从声明处开始,直到对应的右花括号结束。对于`fun`内部的`if`语句,如果在`if`的代码块中声明了一个新的变量`c`,那么`c`的作用域仅限于这个`if`代码块,它在`if`外部是不可见的。 在C++中,作用域规则遵循以下几点: 1. **全局作用域**:在所有函数之外声明的变量具有全局作用域,它们在整个源文件或多个源文件(如果通过extern声明)中都是可见的。 2. **局部作用域**:在函数内部或者控制结构(如`if`、`for`、`while`等)中声明的变量具有局部作用域,只在声明它们的代码块内可见。 3. **块作用域**:如描述中所述,块是一对花括号括起来的代码段,其中声明的变量在其块内有效,不包括嵌套的块。一旦离开该块,这些变量就无法再被访问。 4. **函数作用域**:函数参数和在函数体中定义的变量具有函数作用域,它们在函数的整个体内都是可见的,但不包括函数的调用者。 5. **静态局部作用域**:使用`static`关键字声明的局部变量,即使在函数返回后仍会保持其值,其作用域限制在函数内。 6. **文件作用域**:全局变量如果没有被任何函数包含,它们的作用域扩展到整个源文件,如果有`extern`声明,可以在其他文件中访问。 理解并正确使用作用域规则对于编写清晰、无错误的C++代码至关重要,因为这直接影响到变量的生命周期、内存管理和代码可读性。在编写代码时,合理地组织作用域可以帮助避免命名冲突,同时确保资源的有效利用和及时释放。在C++的面向对象编程中,类和对象也是作用域的一部分,类成员变量和方法具有特定的作用域规则,这将在类与对象章节中进一步探讨。