- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课件ch
#include iostream.h #define PI 3.14 void main(){ int r=10; #ifdef PI coutPI*r*r; #else cout3.14*r*r; #endif } 注意: 1. 头文件提供的声明逻辑上应该属于一个组。 2. 头文件不应该含有非inline函数或变量的定义。 extern int ival=10; double fice_rate; extern void dummy( ) { } 如在同一程序的两个或多个文件中被包含会产生重复定义的编译错误。 Namespace的引入是为了方便我们使用相同名字的变量、常量、类(或是函数)。 定义: namespace xxx //xxx是namespace的名字 { int aaa;//在这里可以像平常一样定义各种变量、函数 } 以后要使用某个namespace中的东西,比如说xxx中的aaa,像这样:xxx::aaa即可。 using namespace xxx using namespace也只是在最紧挨它的一对{和}符号内起作用,在所有函数之外执行的这条语句才在整个文件中有效。 namespace s1 { int a=0; } namespace s2 { float a=0; } void main( ) { using namespace s1; using namespace s2; a=a+1; //这句是错误的!因为编译器此时无法确定a在哪个namespace s1::a = s2::a + 1; //正确的 } 当使用C++标准库中的新型头文件后,必须加入引用标准命名空间的语句: using namespace std; 我们在程序中为何要using namespace std;呢?其实也是为了把std::cout变成简洁一点的cout。 它就像一个说明,用了它之后,就不会发生名字冲突问题。 * 6.2.3 条件编译 此外,条件编译与宏定义的复合是比较常见的形式,在多文件编译中是非常有效的。如: #ifdef 宏名 代码段 #endif 或 #ifndef 宏名 代码段 #endif 6.2 编译预处理命令 #include iostream.h #define PI 3.14 void main(){ int r=10; #ifndef PI cout3.14*r*r; #else coutPI*r*r; #endif } #include iostream.h #define PI 3.14 void main(){ int r=10; #if PI==3.14 coutPI*r*r; #else cout3.14*r*r; #endif } * 【例6-6】条件编译的应用。 #ifdef PI void area(int r) { coutPI*r*rendl; } #else void area(int r) { cout3.14*r*rendl; } #endif void main() { area(10); } 程序运行结果: 314 若在文件开始处添加宏定义#define PI 3.14159,则运行结果为314.159。 * 6.3 C++程序文件的组织 6.3.1 多文件联合编译的实例 【例6-7】一个简单的多文件联合编译的例子。 //test.cpp extern int a; void func1() { a++; } //main.cpp #include iostream.h int a; void func1(); void main() { cina; func1(); coutaendl; } 运行结果: 5 ↙ 6 * 6.3 C++程序文件的组织 6.3.2 外部变量与外部函数 1. 外部变量 在编写C++程序时,有些变量可能会被多个文件使用,为简化设计,更重要的是统一变量的标识符,可以将这种变量用extern声明为外部变量。 2. 外部函数 与非static全局变量可在其他文件中使用一样,函数也可以被其他文件中使用。 注:加extern或缺省时函数都可以在当前文件和与当前文件相关联的其他文件中使用;而加static修饰后表示该函数只能够在当前文件中使用。 * 6.3 C++程序文件的组织 6.3.3 头文件 头文件为所有extern变量声明、函数声明以及i
文档评论(0)