C++入门介绍及使用手册_第1页
C++入门介绍及使用手册_第2页
C++入门介绍及使用手册_第3页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、C+门介绍及使用手册C+基础3第一章C+语言的组成部分9第二章变虽与常H10第四章表达式与语句13第五章函数16第六章面向对象编程19第七章程序流程21第八章:指针24第九章引用26第十章高级函数28第11章面向对象分析与设计30第12章实现继承31第13章管理数组和字符串34第14章多态35第15章特殊类和函数36第16章高级继承39第17章处理流41第18章创建和使用名词空间45第19章模板47第20章处理错误和异常48第21章杂项内容50C+基础一、类和对象(class&object)面向对象编程:利用对象的属性和方法来实现程序或者系统所需的功能;非面向对象编程:文件:*.cpp

2、、*.c;c+sourcefile;C+源代码文件(程序代码资源)*.h;c+headfile;c+头文件;(定义,类型)*.dsw工程工作区文件;*.dsp工程文件二、c+常用数据类型(DataTypes)与变H整型:intx;长整型:long;单精度类型:float双精度类型:double逻辑型:bool字符类型:char字符串型:CString字节类型:byte(0255)10e+5=10*105?数组:类型数组名数组大小floatafRed4=(0.0f,2.0f,3.0f,4.0f);数组元素赋值:afRed2=1024.568*2.0+3;数组内存分配:1. floatafRed8

3、float*d=(float*)malloc(8*sizeof(float);float*d=newfloat8(2)三、基本语法;/*/n换行函数类型名函数名(参数类型名参数变量).程序代码;returnn;/返回值longsum(inti)(longn=0;for(intj=1;j<=i;j+)(n=n+j;2. returnn;/返回值语法:3. 运算:+-*/=i+i一sincostanatanabsfmod;语句:#include"math.h"/包含头文件#definest100;定义常数return100;/返回值循环:for(intj=1;j<=

4、i;j+)n=n+j;/intj=1;don=n+j;j+;while(j<=i);/判断:if(条件)if(j!=100&&i=100)(.else(if(j>1001)n=n+1;elsen=n+2;/switch/switch(i)(case0:n=1000;break;case1:n=2000;break;case2:n=2000;break;case3:n=2000;break;default:n=i;break;5、指针:(1).指针变虽:类型名*变虽名int*I;intmain(intargc,char*argv)(intm;intn;sum(100,

5、&m,&n);longs1=m;longs2=n;/CStringss;/s.format(printf("从1加到100的奇数总和是:dn从1加到100的偶数总和是:dn”,s1,s2);return0;voidsum(inti,int*s1,int*s2)/从1到i累加(*s1=0;*s2=0;for(intj=1;j<=i;j+)(if(fmod(j,2)=0)*s1=*s1+j;Return2;else*s2=*s2+j;Return;类与对象#include"stdafx.h"#include<iostream>clas

6、sCat(public:intGetAge();intSetAge(intv);voidMeow();private:intitsAge;protected:;intCat:GetAge()(returnitsAge;intCat:SetAge(intv)(itsAge=v;return0;voidCat:Meow()(std:cout<<"Meow.n”;intmain(intargc,char*argv)(Catwhitecat;whitecat.SetAge(10);whitecat.Meow();std:cout<<"whitecatisac

7、atwhois.n"std:cout<<whitecat.itsAge<<"yearsold.n"whitecat.Meow();6. return0;概念:类:对象:指针:第一章C+语言的组成部分1. cout函数:#include<iostream>std:cout<<5/8;std:cout<<(float)5/8;std:cout<<std:endl;2. ?cin函数(输入)intv;std:cin>>v;名词空间Namespace:简化代码Usingstd:cout;U

8、singstd:endl;cout<<endl;cout<<5/8;Usingnamespacestd;cout<<endl;cout<<5/8;cout<<(float)5/8;cout<<endl;cout<<(float)5/8;cout<<endl;3.注释/或者/*与*/第二章变虽与常虽4. 变虽是存储信息的地方。在内存地址中存储或者写入数据;RAM(RandomaccessMemory,内存)随机存取存储区:临时存储;最小单元:byteC+关键字(不能用之命名变虽或者函数)C+;If;W

9、hile;For;Main;变H定义:intI;i=-10;unsignedinti;i=-10;(错误)IntI,j,k,l;LongI,j,klongintI,j,kShortI,j,kshortintI,j,kLong是Longint的简写;short是shortint的简写;typedef自定义数据类型typedefunsignedshortintUSSHORT;USSHORTI,j,k;(等价于:unsignedshortintI,j,k;)6.short与long的回绕shortI;I=3276732767I+-32768I+-327677.特殊字符:tTab键盘n新行r回车键b回

10、退f换页8.常数定义;(常数值不能更改)#definestuperclass15;或者:constunsignedshortintstuperclass=159.枚举型常Jl(enum)enumCOLORred,green,blue,white0,1,2,3EnumCOLORred=100,green,blue=500,white100101500501COLORmycolor;Mycolor=red;例:intmain(intargc,char*argv)enumWEEKDAYSun,Mon,Tues,Wedn,Thur,Frid,Satur;WEEKDAYmyday;myday=Sun;i

11、f(myday=Sun|myday=Satur)printf("it'sweekendn");elseprintf("backtowork!n");return0;第四章表达式与语句1. 避免给常数赋值35=25;(错误)35=I;(错误)constintI=100;1=101;(错误)注意数据类型;unsignedintI;1=100;(正确)I=-100;(错误)交换变虽值inta=100;intb=200;inttemp=a;a=b;b=temp;a=b;b=a;(错误)inti,j;inti,j;j=100;j=100;i=j+;i=+j

12、;结果:I=100;j=101结果:I=101;j=1012. 表达式:3. 任何一个计算值的操作。表达式总能返回一个值;x=a+b;x=y;复杂表达式y=x=a+b如果a=3,b=2,贝U:x=5;y=5;数学运算符+-*/%(求余数,求模)+-5/3=1;(float)5/3=1.66666666x+=2表示:x=x+2x-=2表示:x=x-2优先级intn=3*6+2+5*4+3*(2*3+1)关系运算符a>b;a<b;a>=b;a<=b;a=b;a!=bif语句else语句inti=10,j;if(i<=10)if(i>5)j=5;elsej=i;e

13、lseif(i>1000)j=0;elsej=i*2;逻辑运算符&&与|或!非if(a>=10&&a<=20);if(a<=10|a>=20);if(!(a=10)11.条件运算符intk=(a>b)?a:b;(表达式1)?表达式2:表达式3(如a=10,b=15,责k=15)第五章函数1. 什么是函数:函数是能够对数据进行处理并返回一个结果的子程序包括内置函数和自定义函数;局部变H与全局变H#include"stdafx.h"intadd(intv1,intv2,ints);/函数原型intadd(int

14、v1,intv2,int*s);/函数原型intsum=0;/全局变量intmain(intargc,char*argv)printf("HelloWorld!n");/printf("nn");intvv=0;intv=add(1000,250,vv);printf("V:%dn",v);printf("VV:%dn",vv);/printf("nn");int*vv2=newint1;intv2=add(1000,250,vv2);printf("V:%dn",v2);p

15、rintf("VV:%dn",*vv2);/printf("nn");intvv3=0;intv3=add(1000,250,&vv3);printf("V:%dn",v3);printf("VV:%dn",vv3);printf("nn");/printf("sum:%dn",sum);printf("nn");return0;intadd(intv1,intv2,ints)s=v1+v2;sum=s;/此处sum为全局变量returns;int

16、add(intv1,intv2,int*s)*s=v1+v2;2. intsum=*s;/此处sum为局部变量return*s;默认参数:原型:longchengfa(intn=5);/函数的默认参数/longchengfa(intn)longv=1;for(inti=1;i<=n;i+)v=v*i;returnv;调用:3. longt=chengfa();(结果为120)或者longt=chengfa(4);(结果为24)函数重载:同名函数定义多次;doubleadd(doublev1,doublev2);/函数原型intadd(intv1,intv2,ints);/函数原型inta

17、dd(intv1,intv2,int*s);/函数原型doubleadd(doublev1,doublev2)returnv1+v2;intadd(intv1,intv2,ints)s=v1+v2;sum=s;returns;intadd(intv1,intv2,int*s)*s=v1+v2;sum=*s;return*s;内嵌函数(避免跳转,从而提高程序执行效率)inlineintAdd(intv1,intv2);/原型intAdd(intv1,intv2)4. returnv1+v2;/Add为内嵌函数递归longChengfang(intv)/递归函数if(v=1)returnv;els

18、ereturn(v*Chengfang(v-I);如:v=5:Chengfang(5)=5*Chengfang(4)=5*4*Chengfang(3)=5*4*3*Chengfang(2)=5*4*3*2*Chengfang(1)=5*4*3*2*1=120第六章面向对象编程1. 类和对象类:抽象;对象:客观;类的定义#include"stdafx.h"#include<iostream>classCatpublic:类的共有成员方法intGetAge();intSetAge(intv);voidMeow();private:类的私有成员届性(成员变量)inti

19、tsAge;protected:保护类型;intCat:GetAge()(returnitsAge;intCat:SetAge(intv)(itsAge=v;return0;voidCat:Meow()(std:cout<<"Meow.n”;intmain(intargc,char*argv)(Catwhitecat;/定义类的对象:whitecat为Cat类的对象whitecat.SetAge(10);whitecat.Meow();std:cout<<"whitecatisacatwhois.n"std:cout<<whit

20、ecat.itsAge<<"yearsold.n"whitecat.Meow();2. return0;构造函数与析构函数成员函数const第七章程序流程循环:goto语句inti=0;intv=0;loop:v=v+i;i+;if(i<5)gotoloop;while循环intSum(intv)inti=0;intTotal=0;while(i<=v)if(i%2=0)i+;continue;/跳出本次循环,并继续下一次循环if(i>10)break;/退出循环、Total=Total+i;i+;returnTotal;dowhile循环lo

21、ngSum2(longv)inti=0;intTotal=0;doTotal=Total+i;i+;while(i<=v);returnTotal;for循环for(inti=1;i<=10;i+)for(intj=1;j<=20;j+)for(intI=0,j=0;I<3;循环中止I+,j+)std:cout<<"I:"<<i<<"j:"<<i<<std:endl;switch语句intv,n;switch(v)case0:n=1000;break;case1:n=20

22、00;break;case2:n=3000;break;case3:n=4000;break;default:n=i;break;(如果v=2,则n=3000;如果v=1,则n=2000;)6.7.8.第八章:指针1. (1).指针变虽:类型名*变虽名int*I;intmain(intargc,char*argv)(intm;intn;sum(100,&m,&n);longs1=m;longs2=n;/CStringss;/s.format(printf("从1加到100的奇数总和是:dn从1加到100的偶数总和是:dn”,s1,s2);return0;longsum

23、(inti,int*s1,int*s2)/从1至Ui累加*s1=0;*s2=0;for(intj=1;j<=i;j+)(if(fmod(j,2)=0)*s1=*s1+j;else*s2=*s2+j;return0;指针运算符:->删除指针:delete指针名;int*I=newint;deleteI;内存泄漏内存泄漏迷途指针正确处理方法1正确处理方法2int*i=newint;int*i=newint;int*i=newint;int*i=newint;*I=100;*I=100;*i=100;*I=100;i=newint;deleteI;deleteI;*i=200;*i=20

24、0;*i=200;i=newint;*i=200;2. const指针一般指针Const指针指针常数Cat*Redcat=newCat;intI=Redcat->itsAge;intj=Redcat->GetAge();Redcat->SetAge(40);(V)ConstCat*Redcat=newCat;intI=Redcat->itsAge;intj=Redcat->GetAge();Redcat->SetAge(40);(错误)hVCat*constRedcat=newCat;intI=Redcat->itsAge;intj=Redcat-&g

25、t;GetAge();Redcat->SetAge(40);(V)3. 应用:指针与数组intn=10;int*myArray=newintn;/int*myArray=(int*)malloc(n*sizeof(int);/同样/for(inti=0;i<n;i+)/myArrayi=i;for(inti=0;i<10;i+)*myArray+=i;/等价于:*myArray=i;myArray+;myArray-=n;/让指针位置返回指向数组第一个元素for(i=0;i<10;i+)printf("myArray%d=%dn”,i,myArrayi);/p

26、rintf("myArray%d=%dn",i,*myArray+);第九章引用1. 什么是引用?引用就是一个别名(目标的别名).2. 引用的语法:类型(空格)&(空格可有可无)变虽名正确错误Int&I;Int&I;Int&I;Int&I,jint&I;intj;引用的用法inti=100;int&ii=i;ii=200(则:i=200)i=200(则:ii=200)引用不能重新赋值inti=100;int&ii=i;intk=200;ii=k;k=250;/后续K的变化不引起i和ii的变化;函数i的值ii的值

27、k的值I=300300300-ii=350350350-K=250350350-ii=k250250250K=500250250500inti=100;int&ii=i;(ii值随着I值变化,I=100;ii=100)I=150;(则I=100;ii=100)intk=200;ii=k;(ii值不随着k值变化)(I与ii值变为200)k=250;(I与ii值仍然是200)3. 通过引用传递参数(可返回多个值)voidAddAndSub(intv1,intv2,int&m,int&n)/引用的作用之一:从函数中返回值(m=v1+v2;n=v1-v2;v1=100;/不能返

28、回;return;4. 传递const指针constCat&Function(constCat&WhiteCat)7.第十章高级函数重载成员函数同一个成员函数名称,不同的定义和作用;重载:重新定义与一个已经存在的函数名称相同的函数重载构造函数classCatpublic:Cat()itsAge=100;/构造函数Cat(intv)itsAge=v;/构造函数重载Cat();/析构函数public:intGetAge();intSetAge(intv);voidMeow();intadd(intv1,intv2);doubleadd(doublev1,doublev2);/重载成

29、员函数addpublic:longsum(longv=10);/使用默认值private:intitsAge;boolsex;protected:;/CatBlackCat;1. CatBlackCat(50);复制构造函数Cat(constCat&rCat)itsAge=rCat.itsAge;?&的好处:不用创建临时对象,所以提高效率;?const作用:使得rCat的数据不能被修改;/Cat(CatrCat)itsAge=rCat.itsAge;应用:2. CatBlackCat;BlackCat.SetAge(100);CatRedCat(BlackCat);/复制构造函

30、数初始化对象classCatpublic:/Cat()itsAge=100;/构造函数Cat():itsAge(100);/初始化对象运算符重载CatblackCat;voidoperator+()+itsAge;/重载运算符+Catoperator+(constCat&rcat2);/重载运算符+CatRedCat;RedCat+=blackCat;CatCat:operator+(constCat&rcat2)CatTmpCat;TmpCat.itsAge=itsAge+rcat2.itsAge;重载运算符+的应用returnTmpCat;6.前缀和后缀运算符重载const

31、Cat&operator+();前缀+,如:CatBlackCat;+BlackCatconstCat&operator+(int);后缀+,如:CatBlackCat;BlackCat+6.类型转换;Cat(intv)itsAge=v;CatBlueCat=50;或者:CatBlueCat(50);operatorint()return(int(itsAge);intiii=(int)BlueCat;第11章面向对象分析与设计1. UML(UnifiedModelingLanguage,统一建模语言)软件开发过程:分析7设计7实现7测试第12章实现继承1. 继承与派生概念pr

32、ivate与protected:(只在继承时候有区另U)?private成员只能在本类内部才能访问,派生类中不能访问;2. ?protected成员可以在派生类中访问;派生类向基类的构造函数传递参数Dog:Dog(intAge):Mammal(Age)(3. 调用被覆盖的基类方法.语法:派生类对象名.基类名::被覆盖的基类方法(参数)。例:DogMydog;Mydog.Mammal:Move(2);/Mydog.Move(2);虚函数、虚方法语法:Virtual函数定义;通过基类对象指针,可以调用同一个函数名(虚函数名)而执行的是不同的子类的函数,这就是虚函数最根本的用途。用处:classCa

33、t(public:Cat()itsAge=100;/构造函数Cat();/析构函数public:virtualdoubleadd(doublev1,doublev2)returnv1+v2;public:longsum(longv)returnv1+v2;public:longcheng(intv1,intv2)returnv1*v2;protected:intitsAge;/classBosCat:publicCatpublic:doubleadd(doublev1,doublev2)returnv1-v2;longsum(longv)returnv1-v2;/Cat*BlackCat=ne

34、wBosCat;/多态BlackCat->add(10,20);/调用BosCat:add()结果=-10BlackCat->sum(10,20);/调用Cat:sum()结果=30私有继承classBosCat:privateCatpublic:doubleadd(doublev1,doublev2)returnv1-v2;longsum(longv)returnv1-v2;私有继承后,基类的共有成员和保护成员都变成了派生类的私有6. (private)成员,在类的外部,基类的所有成员不能被访问;BosCatbsCat;BsCat.cheng(10,20);不能调用保护继承cla

35、ssBosCat:protectedCatpublic:doubleadd(doublev1,doublev2)returnv1-v2;longsum(longv)returnv1-v2;;保护继承后,基类的共有成员和保护成员都变成了派生类的保护类(protected)成员,在类的外部,基类的所有成员不能被访I可;第13章管理数组和字符串1. 指针算数int*x=newint10;for(inti=0;i<10;i+)xi=i;x+=5;intvvv=*x;/vvv=x5;printf("v=*x=%d!n",vvv);int*x=newint10;for(inti=

36、0;i<10;i+)*x+=i;x-=10;回到第1个元素x+=5;指向第6个元素intvvv=*x;/vvv=x1+5;printf("v=*x=%d!n",vvv);删除数组deletex;删除一个指针:int*v;deletev;重新分配内存int*x=newint10;for(inti=0;i<10;i+)xi=i;x=newint15;原来的值将丢失例:2. int*y=newint10;for(intj=0;j<10;j+)yj=j;printf("v=*y=%d!n",y8);/8y=newint15;for(j=0;j&

37、lt;15;j+)yj=j+50;printf("v=*y=%d!n",y8);/58字符数组:chars;s='a'charstring1="hohaiyangbiao"charstring210;strcpy(string2,string1);strncpy(string2,string1,3);strcat(string2,"strcpy");CStrings1=s2+s3;第14章多态1. 多重继承classPegasus:publicHorse,publicBird(2. ?java与C#不支持多重继承;纯虚

38、函数和抽象类.虚函数:Virtual函数返回类型函数名称(参数列表)纯虚函数语法:Virtual函数返回类型函数名称(参数列表)=0;例:virtualvoidDraw()=0;抽象类:包含一个或者多个纯虚函数的类都是抽象类;抽象类注意事项:3. 不要创建这个类的对象;而应该从其派生;务必覆盖从这个类继承的纯虚函数抽象类的作用和应用(使用方便,以不变应万变):第15章特殊类和函数1. 静态成员变Hstatic“属于类而不是属于对象”。classCat(public:Cat(intage):itsAge(age)HowManyCats+;/构造函数Cat()itsAge=100;HowManyC

39、ats+;/构造函数virtualCat()HowManyCats-;析构函数public:intID;staticintHowManyCats;protected:intitsAge;Catmm;intCat:HowManyCats=0;intn=Cat:HowManyCats;intmain(intargc,char*argv)Cat*MyCats=newCat10;CatwhiteCat(100);printf("HowManyCats:n%dn",Cat:HowManyCats);return0;静态成员函数;classCatpublic:Cat(intage):i

40、tsAge(age)HowManyCats+;/构造函数Cat()itsAge=100;HowManyCats+;/构造函数virtualCat()HowManyCats-;/析构函数staticintGetHowMany()returnHowManyCats;public:intID;staticintHowManyCats;protected:intitsAge;intCat:HowManyCats=0;intmain(intargc,char*argv)Cat*MyCats=newCat10;CatwhiteCat(100);printf("HowManyCats:n%dn&q

41、uot;,Cat:GetHowMany();return0;注:静态成员函数不能取决于非静态成员数据;如:staticintGetHowMany()returnitsAge;(编译错误)函数指针(以不变应万变)语法:返回类型(*函数指针名称)(参数列表)voidCube(int&w,int&h)returnw*h;/函数void(*pFunc)(int&,int&);函数指针定义和语法pFunc=Cube;给函数指针指定函数,注意函数结构要一致/pFunc=Circle;pFunc(ValOne,ValTwo);通过函数指针调用函数pFunc(10,20)等价于

42、Cube(10,20);函数指针数组void(*pFuncn)(int&,int&);/函数指针数组定义和语法pFunci=Cube;/给函数指针指定函数pFunci(ValOne,ValTwo);通过函数指针调用函数typedef用于函数指针(作用:代码易读)typedefvoid(*VPF)(int&,int&);/定义名称为vpf的函数指针;intmain()VPFpFunc;/类似于intI;pFunc=Cube;成员函数指针(类似)CatRedCat;void(*pFuncn)(int&,int&);pFunc=RedCat.add;i

43、ntv=pFunc(10,20);/intv=RedCat.add(10,20);第16章高级继承1. 聚合2. 类的成员可以是其它类的对象,称为聚合;添加友元类A类B类ClassA(public:friendClassB;Public:Setvv()(private:intn;protected:Byy;4ClassB(Public:private:intadd(a->n+=1;);protected:A*a;则:B类可以访问A内的任何成员数据和成员函数(包括私有的);友元函数classCat(public:Cat():itsAge(100)(;/初始化对象Cat(intv)(itsA

44、ge=v;/构造函数重载Cat(constCat&rCat)itsAge=rCat.itsAge;/复制构造函数Cat()(;/析构函数public:intGetAge()returnitsAge;intSetAge(intv)itsAge=v;public:friendintAdd(Cat&T);/友元函数某类的友元其参数一般与该类有关;private:intitsAge;intAdd(Cat&T)/友元函数体returnT.itsAge;/友元函数的价值:访问类的私有成员intmain(intargc,char*argv)CatRedCat;printf("

45、;RedCat'sAgeis%dn",RedCat.GetAge();printf("RedCat'sFriendFunctonis%dn",Add(RedCat);return0;第17章处理流1.cin<<遇空格结束2.输入多个变量:charYourName6std:cout<<”pleaseinputyourName:”pleaseinputyourName:std:cin>>YourName;haohaiuniversitystd:cout<<YourName;haohai3.cin>&

46、gt;ValOne>>ValTwo>>ValThree;charp=cin.get();输入1个单字符;chara;cin.get(a);输入1个单字符;chara,b,c;cin.get(a).get(b).get(c);连续分别输入3个单字符;输入带空格的字符串charStringOne256;charStringOne256;cin.get(StringOne,256);cin.getline(StringOne,256);输入单个字符4.3. cin.ignorecharStringOne256;cin.get(StringOne,256);cout<&l

47、t;StringOne<<endl;cin.ignore(255,'n');charStringTwo256;cin.getline(StringTwo,256);2. cout<<StringTwo<<endl;6.putback与peekintmain2()(charch;cout<<"enteraword:"<<endl;while(cin.get(ch)!=0)(if(ch='!')cin.putback('$');/putback将一个字符插入输入流中els

48、ecout<<ch;while(cin.peek()='#')/peek查找字符cin.ignore(1,'#');/ignore忽略指定字符return0;刷新输出(回车)3. cout<<flush();put输出cout.put('H').putCo').putCH').putCa').put('i');write()chars="hohai123456yang"intln=strlen(s);cout.write(s,ln-3)<<endl;c

49、out.write(s,ln)<<endl;4. cout.write(s,ln+3)<<endl;cout.width(int):保证下一个输出量长度为10调整输出宽度;cout<<"abc"cout.width(10);cout<<"abc"5. 结果:abcabcfill(char)cout<<"abc"cout.width(10);cout.fill(*');cout<<"abc"结果:abc*abc标记:fixed,showb

50、ase,Uppercase,dec,oct,hexcout<<dec<<0x7b<<endl;/123cout<<hex<<123<<endl;/7bcout.setf(ios:showbase);/cout<<hex<<123<<endl;/0x7bcout<<uppercase<<123<<endl;/0x7B常见转换符:CStringss;printf(%s”,ss);IntI;printf(%d”,i);LongI;printf(%l”,i);

51、Doublex;printf(%ld”,x);Floatx;printf(%f”,x);doublei;i=123;CStringss;ss.Format(%ld”,i);6. MessageBox(ss);写文件(注意:#include<fstream>)charfilename="D:CCMyfileData.txt"ofstreamfout(filename);cin.ignore(1,'n');charbuffer255;cin.getline(buffer,255);fout<<buffer<<"n&q

52、uot;fout.close;读文件charfilename="D:CCMyfileData.txt"ifstreamfin(filename);charch;while(fin.get(ch)cout<<ch;fin.close();二进制文件写入与读出写入读出ofstreamout(filename,ios:binary);charbuffer255;cin.getline(buffer,255);fout.write(buffer,255);fout.close();ifstreamfin(filename,ios:binary);charbuffer25

53、5;fin.read(buffer,255);cout<<buffer<<endl;fin.close();命令行处理intmain(intargc,char*argv)ifstreamfin(argv1,ios:binary);charbuffer255;fin.read(buffer,255);cout<<buffer<<endl;fin.close();return0;运行方法:MyBinaryfileD:CCMyBinaryfileDataBinary.txtShellmspaint1.bmp”第18章创建和使用名词空间/类pane使用名

54、字空间window,即类pane嵌套在名字空间winndow里。/namespacewindow/类pane使用名字空间window,即类pane嵌套在名字空间winndow里。(constintmax_x=30;constintmax_y=40;classpane(public:pane();pane();voidsize(intx,inty);voidmove(intx,inty);voidshow();private:staticintcnt;intx;inty;intwindow:pane:cnt=0;静态成员变量window:pane:pane():x(0),y(0)(构造函数win

55、dow:pane:pane()(析构函数voidwindow:pane:size(intx,inty)(if(x<window:max_x&&x>0)pane:x=x;if(y<window:max_y&&y>0)pane:y=y;voidwindow:pane:move(intx,inty)(if(x<window:max_x&&x>0)pane:x=x;if(y<window:max_y&&y>0)pane:y=y;voidwindow:pane:show()(cout<<"

温馨提示

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

评论

0/150

提交评论