调用“文件3” 调用“文件1” 中的func320 中的func120 文件1: 文件2: 文件3 func320; func2100 extern func120 func11ot func220‖‖func310 func120d func2303 func3200 func130t func330鲁 仅限“文件1”中仅限“文件2”中 调用 调用 。通过 static对函数进行文件作用域的限定,可 以避免不同文件使用相同函数名引起的冲突
C++程序设计课件 设计制作:徐龙琴 11 ⚫ 通过static对函数进行文件作用域的限定,可 以避免不同文件使用相同函数名引起的冲突 文件1: extern func32(); static func11(){} func12(){} func13(){} 文件2: func21(){} static func22(){} func23(){} 文件3: extern func12(); func31(){} func32(){} func33(){} 仅限“文件1”中 调用 仅限“文件2”中 调用 调用“文件3” 中的func32() 调用“文件1” 中的func12()
§63作用域 C+的作用域有下面4种: 1、程序级:构成程序的所有源文件。 2、文件级:定义标识符的源文件 3、函数级:定义标识符的函数。 4、局部级:定义标识符的复合语句或分程序。 在一个标识符的作用域中使用该标识符时,如果未见到该 标识符的定义,则在使用前往往需要声明之。 C++程序设计课件设计制作:徐龙琴 12
C++程序设计课件 设计制作:徐龙琴 12 § 6.3 作用域 C++的作用域有下面4种: 1、程序级:构成程序的所有源文件。 2、文件级:定义标识符的源文件。 3、函数级:定义标识符的函数。 4、局部级:定义标识符的复合语句或分程序。 在一个标识符的作用域中使用该标识符时,如果未见到该 标识符的定义,则在使用前往往需要声明之
例:/fle1cpp #include <iostream h> int x. ∥/程序级 static int y ∥/文件级 void maino i int x; /函数级 if (int y=a) /局部级 C++程序设计课件设计制作:徐龙琴 13
C++程序设计课件 设计制作:徐龙琴 13 例: //file1.cpp #include <iostream.h> int x; //程序级 static int y; //文件级 void main() { int x; //函数级 … … if (int y=a) //局部级 … … }