如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据类型与编程(2)#include<iostream>usingnamespacestd;classCourse{private:charcid[8];charcname[20];public:Course(){cin>>cid>>cname;}char*getcid(){returncid;}char*getcname(){returncname;}voidsetcid(charfc[]){strcpy(cid,fc);}voidsetcname(charfcn[]){strcpy(cname,fcn);}voiddisplay(){cout<<cid<<“”<<cname<<endl;}};classStudent{charsid[8];charsname[20];intsage;boolssex;public:Student();getter;setter;voiddisplay();}classTeacher{chartid[6];chartname[20];public:Teacher();getter;setter;voiddisplay();}main()函数是C++程序的入口函数main()函数的返回值类型:通常,int或void,C++标准要求为int当返回值类型为int,而函数体内并没有出现return语句时,同样可以通过编译并正常运行。原因:编译器在main()函数的末尾自动添加了return0;的语句。其它的返回值类型不是void的函数,如果没有使用return语句,编译器将报错。其实,main()函数的返回值类型可以是任意的类型。例子:floatmain(){cout<<“Hello!”<<endl;return0.0;}从程序员的角度:main()函数的主要作用是提供C++程序的入口,它的返回值通常并不为程序员所关心。因此,某些编译器并没有强制性要求其返回值为int,如VC++,但有些则要求。然而,将其返回值类型设定为int,符合C++标准,使程序具有可移植性。但是,main()函数的返回值可以向操作系统提供程序的运行状态信息。在Windows平台下,可通过环境变量errorlevel获取用C++开发的应用程序的main()函数的返回值,并依据此返回值做出不同的响应。例子:#include<iostream>intmain(){inti;std::cout<<“pleaseinputanumber:”;std::cin>>i;returni;}编写一个批处理文件(如test.bat):@echooffReturnvalIf%errorlevel%==3echothirdIf%errorlevel%==2echosecondIf%errorlevel%==1echofirst当运行批处理文件,从控制台输入1,得到输出first,输入2得到second。结论:当程序returnval运行时,main()函数的返回值存放在环境变量errorlevel中,我们可以在批处理文件中利用这个返回值采取不同的行动。关于exit(i)1)与returni;语句的执行结果相同。2)exit(i)的执行效果是返回操作系统,并将i作为程序的返回结果。3)当程序出现无法恢复的错误时,有可能使用exit()函数退出程序。4)在C++程序中,exit()函数的使用会破坏程序对对象的析构函数的调用,控制得不好还会引发其他程序设计问题。5)在C++程序设计中,应利用异常处理机制来取代对exit()函数的使用。关于命令行参数main()函数可以带参数,以处理由用户输入的命令行参数,其格式固定为intmain(intargc,char*argv[]),其中argc代表参数的个数,argv数组中的每一个元素是一个保存命令行参数内容的字符串。#include<iostream>usingnamespacestd;intmain(intargc,char*argv[]){if(argc>1)cout<<“Hello,”<<argv[1]<<“!”<<endl;}关于命令行参数系统在提交命令行参数时,会自动在数组argv[]的最后一个有效参数后面加一个空指针,这样,即使不知道argc的值,通过字符指针数组中空指针所处的位置,也能推断出命令行中有多少个参数。#include<iostream>usingnamespacestd;intmain(intargc,char*argv[]){inti=0;while(argv[i])cout<<argv[i++]<<“”;cout