算法与数据结构:lecture 12 C++工具_第1页
算法与数据结构:lecture 12 C++工具_第2页
算法与数据结构:lecture 12 C++工具_第3页
算法与数据结构:lecture 12 C++工具_第4页
算法与数据结构:lecture 12 C++工具_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+工具程序中常见的错误语法错误编译阶段可以发现可以很快地发现出错的位置和原因,并加以改正运行错误运行过程中的异常应当事先分析程序运行时,可能出现的各种意外,并分别制定处理方法异常处理:对运行时出现的差错以及其他例外情况的处理。C+处理异常的机制检查:把需要检查的语句放在try块中。抛出:throw用来当出现异常时,发出一个异常信息。捕捉:catch用来捕捉异常信息,如果捕捉到了异常信息,就处理它。#include #include using namespace std;double triangle(double a, double b, double c)double s=(a+b+c)

2、/2;if(a+b=c| b+c=a | c+aabc; trywhile(a0 & b0 & c0) couttriangle(a,b,c)abc; catch(double)couta=a,b=b,c=c, not a triangle!endl; return 0;名字空间的引入软件往往涉及多个类,这些类可能由不同人、在不同时间开发,很可能在不同的头文件中使用了相同的名字来命名类或函数,从而导致名字冲突。命名空间:全局作用域名字的一个附加层访问全局作用域名字必须首先指定其所在的命名空间名字,以关键字namespace开始,后接命名空间名字和定义体名字空间定义格式:namespace 命名

3、空间名字 全局作用域名字的定义访问:内部:直接访问外部:加命名空间名字和作用域限定符(:)命名空间名:名字#include namespace MyNamesint x=10;int y=2*x;int main()std:coutMyNames:xstd:endl;std:coutMyNames:ystd:endl;std:coutMyNames:x + MyNames:y std:endl;return 0;102030using namespace语句为了在应用程序中直接访问某命名空间定义的名字,可以采用:using namespace 命名空间名字;例:using namespace

4、std;本命令适合放在实现文件(cpp文件)而非头文件放在cpp文件时,不会影响任何其它文件。放在头文件时,任何包含这个头文件的文件,都将打开这个名字空间,using命令的影响范围可能难以判定。#include namespace MyNamesint x=10;int y=2*x;using namespace std;using namespace MyNames;int main()coutxendl;coutyendl;coutx + y endl;return 0;102030命名空间的成员一个命名空间可以包含多种类型的名字。可以包含函数可以包含类命名空间可以嵌套。#include

5、using namespace std;namespace MyNamesconst int OFFSET=15;int x=10, y=20;char ch=A;int IntSum()int total=x+y+OFFSET;return(total);char CharSum()char result=ch+OFFSET;return(result);int main() cout“Namespace member values:endl; coutMyNames:x MyNames:y MyNames:chendl; coutResults of Namespace functions:endl; coutMyNames:IntSum() MyNames:CharSum()endl; return 0 ;Namespace member values:10 20 AResults of Namespace functions:45 P命名空间的别名对一个已经定义的命名空间,可以再定义一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论