[计算机软件及应用]C++第5章 数据的共享与保护.pptVIP

[计算机软件及应用]C++第5章 数据的共享与保护.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]C第5章数据的共享与保护

例如,声明一个命名空间NS: namspace SomeNS { class SomeClass; void SomeFun (); } 则引用标识符的方式如下, NS:: SomeClass obj1; NS:: SomeFun (); 可以用using来指定命名空间或命名空间中的标识符,具体格式如下: using 命名空间名::标识符名 using namespace 命名空间名 例如,经过以下声明: using SomeNS :: SomeClass; using namespace SomeNS; 回顾: using namespace std; 命名空间std中所有标识符都可直接引用 在新的C++标准程序库中,所有标识符都声明在命名空间std中,头文件都不使用扩展名 两类特殊的命名空间 -----全局命名空间和匿名命名空间 //file1.cpp #include iostream using namespace std; int i=3; void next(); void other(); int main() { i++; next(); coutiendl; } void next() { i++; other(); } 4. defined操纵符 格式:defined(标识符) #ifndef MYHEAD_H #define MYHEAD_H ……… #endif 注意:可能出现的头文件的多次包含! //main.cpp #include file1.h #include file2.h int main() { … } //file1.h #include head.h … //file2.h #include head.h … 使用条件编译后的头文件 //head.h #ifndef HEAD_H #define HEAD_H class Point { … } … #endif 例 5-10(续) //文件3,主函数,5_10.cpp #include Point.h #include iostream using namespace std; int main() { Point a(4, 5); //定义对象a,其构造函数回使count增1 cout Point A: a.getX() , a.getY(); Point::showCount(); //输出对象个数 ? Point b(a); //定义对象b,其构造函数回使count增1 cout Point B: b.getX() , b.getY(); Point::showCount(); //输出对象个数 ? return 0; } * 5.6多文件结构和编译预处理命令 —— 5.6.1 C++的一般组织结构 例5-10(续) * #include point.h #include iostream …… #include point.h #include iostream …… point.cpp class Point { …… point.h 5_10.cpp 可执行文件5_10.exe point.obj 5_10.obj 编译 编译 连接 连接 系统运行库 连接 iostream 包含 包含 包含 包含 系统文件 5.6多文件结构和编译预处理命令 —— 5.6.1 C++的一般组织结构 外部变量 如果一个变量除了在定义它的源文件中可以使用外,还能被其它文件使用,那么就称这个变量是外部变量。 文件作用域中定义的变量,缺省情况下都是外部变量,但在其它文件中如果需要使用这一变量,需要用extern关键字加以声明。 * 5.6多文件结构和编译预处理命令 —— 5.6.2 外部变量与外部函数 外部函数 在所有类之外声明的函数(也就是非成员函数),都是具有文件作用域的。 这样的函数都可以在不同的编译单元中被调用,只要在调用之前进行引用性声明(即声明函数原型)即可。也可以在声明函数原型或定义函数时用extern修饰,其效果与不加修饰的缺省状态是一样的。 * 5.6多文件结构和编译预处理命令 —— 5.6.1 C++的一般组织结构 将变量和函数限制在编译单元内 使用匿名的命名空间:在匿名命名空间中定义的变量和函数,都不会暴露给其它的编译单元。 namespace { //匿名的命名空间 int n; void f() { n++; } } 这里被“namespace { …… }”

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档