《面向对象编程技术与方法-例程代码.docx》由会员分享,可在线阅读,更多相关《面向对象编程技术与方法-例程代码.docx(52页珍藏版)》请在优知文库上搜索。
1、赵清杰,面向对象编程技术与方法,电子工业出版社第1章例程代码例1-1.计算圆面积的面向过程程序:/Wl-I.计算典面积的面向过程程序/5&据摘逑:半径和面枳均为实暨ISiK数据处理;Q)从键式构入半径r2)计獴面积Fr22)向屏IJ输出半位和面松/el-l.cinclude包含标准头文件Iostreamusingnajsacestd;声明可以直接使川s匕d中的标识符-ir11为探序执行的人口intmain()(doubler-0.0;定义半径J初Ifi赋为。.。doublearea三0.0;定义网枳nrea初tfi赋为。.0utPleaseinputradius:endl;/WW1fiill-
2、Pleaseinputradius:cinr;从键盘输入一个教假,井M筠rarea=3.14*r*r;计I?网的面枳cot-area=Horeaendl;/向价再蜡出面超!,end】表示投行return0;若主沿数没孙必大提供返回语句,则标准C”默认返回O例上2.计算圆面积的面向对象程序./*A*A*A*A,*.*A*.A*A.A*A.A例1-2,计算HIBl枳的闻向对象程序/el-2.cppinclude包含怵准头文件iostmamusingnamespacestd;2明可以宜接使用3td中的标识符C1.Xle类的声明classCirclepublic:/以下为CirCle类的成员函数Clr
3、cleldoubler-0);doubleGetArea();voidOutputArea);private:构造函数用于初始化radius计算阅的面枳输出阅的面积到屏格/以下为CirUle类的数据成员doublerodis;/Circlg类的实现Circle:三Circl(radius=r;IdoubleCircle:GetAreaOIreturn(3.14*radiusradius);JvoidCircle:!OutputArea()IcoutGetArea()endl;(:1.rcle类的使用intmain()Circlecircle(3);创建半径为3的CirCIW类对象CItCIeC
4、lrcleeOutputArea();输HlBI的面枳returnO;赵洁杰,面向对象娘程技术与方法,电子工业出版社第2章例程代码2-1字符与Asal与值。/W2-1,字符与ASCll码值/2-1.cpp4includeusingnamespace三td;Intmain)(charch-A;定义Chars!变MCh初始化为字符inta。ch;定义Int型变fit初始化为小,的玛祖.叩65Coutch-chend1;cota=maGnd1;returnO;i例2-2利用运算符SIZeOf得到不同散据类型占用的字节数.例22,利用运算符SUeof得到不同致据类型占用的字节数/e2-2.cpp/*,
5、*,*,*文*,*/*,*文*,4includeusingnamespacestd;intmain)(doubled-0.5;cout-sizeofbool):sizeofbool)endl;coutslzeofcar):,8izeofcar)endl;cotslzeorint:w8l2eofendl;coutsizeof:msizeof(float)endl;coutsizeofd):wsizeof(d)endl;coutsizeoflongdouble):Sizeot(longdoubleendl;returnO;例23.文字输出。*A*A*A*A*A*A*/W2-3,文字输出/ex2-3
6、.cppincludeusingnamespacestd;IntmainO(/下面输出文字到屏幕上中间用朝我符分开cout1.OO,t,3.14,f,a,t,wbookwendl;COUta;的出声响竹return0;例24标识符的作用域.例2-4.标识符的作用域/e2-4.cpp/*.A*A*,A*,*A*A.*,A,*A.*Aincludeusingnamespacestd;Inta=5;定义全局对象打intmain()Inta=2;定义局部射象Hintclea*3;/cl6.使M的是局部前象口-2-::a3;Zc2-15,使用的是全局对象aCOUtcl-rclendl;couthc2=c
7、2endl;)同部对的作用域结束return0;全局对做3的作用域结束例2-5.全局对象举例。/W2-5,全局对象举例/ex2-51.c该文件为应的EI标码与x2-5,2对应的目标以进行连接从该文件生成可执行文件9.9*includeusingnamespacestd;以下为全局对象定义及函数小明Intglobe-0;void(unO;/it立钠对象globe消Jft出明,潜数tun在文件ex2-S_2.cpp中定义voidfunc;/谢川函数func()globe-12;cotglobfun();改变全岫对象的值endl;调用的敷fun(tScglobe的的cotglobereturn0;e
8、ndl;/unc函数定义voidfnclcoutglobeendl;)/2-5.全局对象器例Z/ex2-5_2.cpp/不要从i文件生成可执行文件externintglobe;声明对象globe为OXSrrU该对象在文件ux2-S_1.uPP中定义voidfun)/un()函数定义(globe-47;/,悔改全功对象globe的假例26.只在编译单元内起作用的对象。/*A*.*A*A*.*A例2-6.只在编洋单元内起作用的对&/2-6-l.cpp射做f1只在本文件可用/,谖文件目标码与ex2-6_2.cpp的目标码进行逐按时,ftiKffl.,.!includeusingnamespacest
9、d;以F为全局对象定义及潜t也明staticintfs-0;定义龄态对象voidfunc;/rtifncifcex2-6-2.cpp,I,A以下为主诲数intmain()(f三-1;returnO;,*A*A”AA.*.A例2-6.编评通元内起作用的对象/ex2-6-2.cpp该文件向评时可以通过,但it按时会出婚externintfs;/JiMijexternlflVJ.但此文件中仍不能MfsvoidCunc)(/ts-100;错误!此处不可用f8它只能在文件ex2-6_l,cpp中使用例27函数内部定义的静态对盆。/2-7.函数内部定义的静态对象/e2-7.cpp“*.,.d.,.incl
10、udeusingnamespacestd;/fun()函数定义voidun)(staticint1-3;在fs()函数内定义静态对象1 三i1;couti;主的故intmainOCun();/cot1;此处不可以使用1COUt,fun();returnO;例2-8内存分配方式举例。/*-*,*/*,文,*文*,*文*,/W2-8,内存分配方式举例/e2-.cppincludeuingnamespacestd;全局对象与函数定义intdgl0;staticintdog2-0;voidf定义全后对歙定义的信全局对象定义也教staticintcatlintcat2-0;COUticatl:cotca
11、t2:-0;定义静态向SJ对奴定义同部对欤-4catlendl;输出对较CatI的地址cat2end/输出射象皿2的地址(inttp三newint5);用new建立初Jfi为5的int对象.P中存放该对象的地址int1-0;定义局部对较staticintj-0;定义龄态局部对象cotFdoql:Sdoglendl;输出射象doglW1.COUt-4dog2:4dog2cndl;输出财软dog2的研COUt-&():“c:pendl;/输出动态对象的堆址COUt-4p:mfipendl;输出P的抱址COUt-&i:-61endl;输出对象i的地址COUt4j:hiJendl;输出对象j的地址co
12、t(mainO:mainendl;悔出函数main的地址deleteF);存放P所指向的内存区域intmain()returnO;例2-9.联合数据类型举例。/W2-9.联合数据关里举例/Ze2-9.Cpp.sincludeusingnamespacestd;定义UrdOnX联合数据类型unionUnlonXinta;整型成员doubleb;/双精收浮点里成员H注总分号不能少!/ffiftIntmain)UnionXA;建立UnionX类41的对象AA.a-5;为对象a的成外a照值5.为成ii问运算符A.b-7.6;/为对象A的成员匕味值7.6coutSizeof(A.a)A.aendl;辑出成员a的字节数及他出coutSizeof(A.b)S