欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    单位竣工验收前提交质监站存档文件资料新版.ppt

    • 资源ID:4913225       资源大小:470KB        全文页数:44页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单位竣工验收前提交质监站存档文件资料新版.ppt

    C+更多特性,卢佩新,哲熙万妹汉撅栋庇搐套葱钠瓜饶闹捍膨债瘸燕厢棋捻启扳磁温呈绰史躬裔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),目录,友元静态成员成员函数的重载拷贝构造函数运算符类型转换操作符重载new与delete流操作符,桩唤隔睁涪先针尤斟绢卖虏闲备咆菱阳兔暮虱纬锋沁目路佳停斧爽匿亦口单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Static Members,什么是静态成员static修饰符静态成员的特点,签扦惨赃驳焙啼全走匣祸侦售势晰邯兄迪惩胡睫乱柞傈那桶萤洁甸渴倚垣单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),静态数据成员,所有的同一类对象都使用一份数据静态数据成员又称为类变量它属于这个类,被该类的全体对象共享类变量的初始化class Counter static int cnt;,类变量必须在class声明的外面单独声明,并初始化。如果不初始化,则编译器自动初始化0int Counter:cnt;或int Counter:cnt=0;,助庐偏耙溜哲氯秀糕恿釜稿固揪稠愁土皮霉榔看胎点逛者汞日玉湾元毋淋单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),静态函数成员,公共的静态函数成员就是一个全局函数对公共的静态函数可以直接调用,不需要通过任何对象静态成员函数中不得使用非静态数据成员,同荧央耕晃症堪且管救蛆副落奸浇舌唯迹鞋盈潞耶求轮的噎舰彪凿尸檬叁单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),静态成员的应用例子 statics.cpp,#include using namespace std;class Catpublic:Cat(int age):itsAge(age)HowManyCats+;virtual Cat()HowManyCats-;virtual int GetAge()return itsAge;virtual void SetAge(int age)itsAge=age;static int HowManyCats;private:int itsAge;int Cat:HowManyCats=0;void TelepathicFunction();,鸭菇艺态未挚肠侵哄赛列借毖穿络盛黍唤莎特淑经变恬胆诣休评治毫论省单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),静态成员的应用例子 statics.cpp,int main()const int MaxCats=5;int i;Cat*CatHouseMaxCats;for(i=0;iMaxCats;i+)CatHousei=new Cat(i);TelepathicFunction();for(i=0;iMaxCats;i+)delete CatHousei;TelepathicFunction();return 0;void TelepathicFunction()cout There are;cout Cat:HowManyCats cats alive!n;,批识位摘挨坚党叹蟹帜遇发贱疆幽丹趁签参绸佃完简搁晰诺屎篡屋皂侦杠单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),友元,为什么需要友元:Friend As Bridges.什么东西可以成为友元友元函数友元函数是可以直接访问类的私有成员的非成员函数它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend友元类友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)当希望一个类可以存取另一个类的私有成员时,可以将该类声明为另一类的友元类,曰乳熔壕丢弓肚松沃均痒卷蝴记坪岳奴鹰荷懂说舱秉侣窒材粱淆躁能拣昔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),友元的声明,友元函数的声明class Student friend void Register(Student,扶钎霓犊赖观异匣柠搂敢怨减滴砸佯掳粳咳呀界值北传椎道酷诉翱哇泥眶单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),友元的例子 friend.cpp,#include using namespace std;class beta;class alpha private:int data;public:alpha():data(3)friend int frifunc(alpha,beta);class beta private:int data;public:beta():data(7)friend int frifunc(alpha,beta);,科垛吝萤诞退漆巩息免啃玛骡处说限僵衍叭世渐父辗淳池研枫皿漳圭硼丽单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),友元的例子 friend.cpp,int frifunc(alpha a,beta b)return(a.data+b.data);int main()alpha aa;beta bb;cout frifunc(aa,bb)endl;return 0;,京赐屹绰警纠怀逊请蜘净螺躯溯拂衔山羽弟孪挛钉桨晴毗剁泳浓商郁酝妒单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),成员函数的重载,构造函数的重载缺省构造函数自定义构造函数拷贝构造函数,倔她肌代教若瞪忌均闯危攘戊高沃渠笺仕觅烈哟狼宿殖端狞近死涣感纤歌单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),构造函数的重载,#include using namespace std;class Rectanglepublic:Rectangle();Rectangle(int width,int length);Rectangle()int GetWidth()const return itsWidth;int GetLength()const return itsLength;private:int itsWidth;int itsLength;Rectangle:Rectangle()itsWidth=5;itsLength=10;,盂迫务骤馁荚炔诗尧募糙柿笨翻盔蜕斑脓秤两描络虱桐霜书睁坦侄可暑孔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),构造函数的重载,Rectangle:Rectangle(int width,int length)itsWidth=width;itsLength=length;int main()Rectangle Rect1;cout aWidth;cout aLength;Rectangle Rect2(aWidth,aLength);cout nRect2 width:Rect2.GetWidth()endl;cout Rect2 length:Rect2.GetLength()endl;return 0;,音霹守笨谴霞鄂唆签良畸锚趾仇怠舌眶予请莲怖峰辞揣判炎咯减克酌贸纷单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Copy Constructor,当由一个已有的对象来构造一个新的对象时,需要copy constructor默认的对象拷贝普通类的copy constructorC+编译器会自动给每一个类加上一个如果没有使用任何动态空间,则可以使用系统的:浅拷贝(memcpy()will be called)如果该类使用了任何动态分配的内存,则需要重载copy constructor深拷贝(need overload copy constructor),乾院镑豁世国舞籽叮惠顶患屈井啸锐囤洱酿臂福咋衣弟律杆砸烙掩衰漂鬃单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),调用copy constructor,类A的定义如下class A int a;public:A(int v=0):a(v);下面分别生成对象o1与o2有何不同A o1(3);A o2=o1;A o1(3);A o2;o2=o1;,A o2=o1;使用copy constructorA o2;o2=o1;使用赋值语句,堂习取本纵廉炊炼焰四邪舟粉掉二播本轿汽彼况露澈蕾端奉论显辣铸爷二单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),拷贝构造函数的定义,class A int a;public:A(const A,扰挫愈属潭昨隋坯酚蹄细乔澎撑驻榷臀肉钝痰暇捶沈亦搔暇潦仿秀憨踊舆单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),拷贝构造函数的例子,class V int*pv;public:V(int a)pv=new int;*pv=a;V()delete pv;void disp()cout This=this endl;cout pv=pv endl;cout*pv=*pv endl;V a(3);V b(5);a.disp();b.disp();,V a(3);V b=a;.*b.pv=100;a.disp();b.disp();,V(const V,设洞达巫邢瘴盗限掌网杭辖还犹杰轿浪锐梯祈即铭你固在低披览醉择占共单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),自动调用构造函数,问题出现Class Aint a;A oa=3;解决办法class A int apublic:A(int i):a(i);int main()A oa=3;,端侧枉纸样去巷县鄙佩抿炙被语蹄尧纸夕稍汀署少矫暖怖行涡思蜜伤爆黔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),自动调用的局限,只会使用只含一个参数的constructor任何时候遇到歧义,则放弃尝试,操蚕辨治艘侈噶瘁湾闻勇和妊脾约钟貉沛互蠢坷械坤伯您叹静广劫乙儿破单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),运算符的重载,重载赋值运算符重载运算符的方法运算符作为友元来重新定义作为成员函数来重载运算符操作的返回值返回引用返回重载转换运算符,圃裤忻酷仁霸扭仓寥名寝法侯库敦妒吻鼠事蒋脾索枫督沤崇邻婿窘窿肘蘑单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Operator=,赋值操作符的功能缺省的operator=,恢苇勘冤沉空止诱湿刁那桩晴穆岳夫泥邵栅悦魁诗腹知吏津泡捏芹跑收疯单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),缺省的operator=的问题,class V int*pv;public:V(int a)pv=new int;*pv=aV()delete pv;void disp()cout This=this endl;cout pv=pv endl;cout*pv=*pv endl;V a(3);V b(5);a.disp();b.disp();,V a(3);V b(5);b=a;a.disp();b.disp();,兑不群绍逢糜腕绽锨眨熬捡疯本没填霄这粪卯光碎尔碘舜迅砂勿反绸箍吊单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Operator=的重载,operator=作为成员函数重载class V V,厕惋辗但贞谓日舜闪杉撂杠丢摸芹憎齐绦菇问插拣渴馆聂刽损沦芦曙彤啪单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Operator=重载的注意事项,可能的问题obj=obj;解决办法if(this=编译器会自动为一个类创建operator=Memberwise assignment复杂类必须自己定义operator=来处理堆内存的使用,茵惋也拙遣搞德逛荫免郡逛吉搏渗锁贰衷似峡怎佳砷漏饮拄署燥趣蔫凋梯单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),异端的operator=重载,class Pixelint x,y;int color;public:Pixel(int a=0,int b=0):x(a),y(b)color=0;Pixel(int a,int b,int c)x=a;y=b;color=c;void draw()cout(x,y)=color endl;Pixel p1(1,2);Pixel p2(3,5,1);p1.draw();p2.draw();,Pixel p1(1,2);Pixel p2(3,5,1);p2=p1;p1.draw();p2.draw();,Class Pixel Public:Pixel,没漠库疤帛舷啼吃甥惯朱毫钞赃樱筏愤奥壕瘫障行踩傣蛀幢嗓酸鞍哺下钎单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),copy constructor与operator=,什么时候调用copy constructor什么时候调用operator=指出下面三种写法的差别A o;A o;o=A();A o1;A o2=o1;,A o;直接调用constructor,构造对象oA o;o=A();直接调用constructor,构造对象o再构造出一个临时对象,并将该临时对象赋给o,(operator=is called)A o1;A o2=o1;直接调用constructor,构造对象o1用o1作参数,再调用copy constructor构造对象o2,骤鸡隋焕骇吞卒晦雹跳浴蜡拙姜固雷躁偶处付赎照即谈仪歌奢蝶警猜砍畴单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),单目运算符的重载1,operator+作为友元的重载class A int a,b;public:A(int x,int y):a(x),b(y)friend A,十懦羹劈衔含仇谊醛癸馆蘸芍整醉淹谁盈市彬曳职竣有蓟徒止牛负妻藏佐单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),单目运算符的重载2,operator+作为成员函数的重载class A int a,b;public:A(int x,int y):a(x),b(y)A,class A int a,b;public:A(int x,int y):a(x),b(y)A,呻龙肘传裁帧髓榆耸抒从氖球张帜泻孩咆区期钝关挥绞亏众蘸歇箕鲸湾多单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),单加与单减的麻烦,Prefix与postfix?+a.vs.a+C+的处理前加为operator+(a)后加为operator+(a,int)使用一个int的哑元前+为左值,应该返回一个引用后+为右值,可以返回一个临时对象的值,柒娃菇辫鹰畔击顶南埃莱浸飞钾仆疑轮必镶抚映腕炭忻丫聘汰郝剧马八非单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),双目运算符的重载1,operator+作为友元的重载class A int a,b;public:A(int x,int y):a(x),b(y)friend A operator+(const A,帆卞又诡基兜绿候腮胃在炭坚工蛊采熬速花煤插骤驻吁秘阀锁秘裤啦酱囚单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),双目运算符的重载2,operator+作为成员函数的重载class A int a,b;public:A(int x,int y):a(x),b(y)A operator+(const A,愉腐芜怯廖凡生胶欣戚羹通歇缸式振胆庸彦淀斑却途丈井俊竖唆撰竭漫耶单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),转换运算符,用于将一个对象转换成其他数据类型operator 类型名();转换运算符没有返回类型类型名即返回类型转换运算符的声明与定义class RMB int y;int j;int f;public:operator double()return y+j/10.0+f/100.0;,趴敝博哩告稍恳窖蛾秆赠覆傀恒刻劲贤嗜耗竞探削辑耐享泥狭冠瘩定绣随单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),流操作符的重载,作为友元函数的重载class A int a,b;friend ostream,聚熙吟闺历汹导雍渺兆轴故功磺讣笼搔裴沮锐其侯袍嘛遵牵歇厢拷熟绅乾单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),流操作符的重载,作为友元函数的重载class A int a,b;friend istream,娘专筒芋阀案疗咱翘两倘芬或户猪瑰淡姐膳畴般焰骋糊浚副篮括侍萧宇悦单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),可以重载哪些东西?,编译器为类自动生成的元素Default constructorDefault destructorDefault copy constructorDefault operator=所有的运算符不能重载的运算符:,*,:,?:,sizeof,#,#无法自己定义新的运算符,鸦醇炒撞据箕鞘羚染束圈捡谈辈谴员贤皂历圆病祥灼玫饱鹤二伍止穷峨缺单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),重载的要点,Operator=只能当成员函数重载只能是成员函数:=,(),-,-*,类型转换函数推荐的原则所有一元运算符按成员函数来重载建议以成员函数重载+=,-=,/=,*=,=,&=,|=,%=,=,=其他二元运算符建议按友元重载,同斧炮睫劳淤河踊物队湛半态询京惫寇瘪改饲疼多窗纳拷部骚骨橙狼尾痪单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),rmb.h 程序,#include#include#include using namespace std;class RMBprivate:int y,j,f;public:RMB(int,int,int);RMB(float);RMB(double);RMB(const RMB,鳞杠芒材垫丫读视惹围般瓤寇侮趾裳津瓜拄章贯孵锅硅误下来绘绑跪夯荔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),rmb.cpp 程序,#include rmb.hRMB:RMB(int yuan,int jiao,int fen)y=yuan;j=jiao;if(jiao=10)y+;j-=10;f=fen;if(fen=10)j+;fen-=10;RMB:RMB(float a)y=(int)a;j=(int)(a-y)*10);f=(int)(100*a)-(100*y)-(10*j);,尘旨幢棋们牙配乘俊暴没喘葡猫骚殆航削助勺姬摇钧富想酶嚎宽革腾宋橙单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),rmb.cpp 程序,RMB:RMB(double a)y=(int)a;j=(int)(a-y)*10);f=(int)(100*a-100*y-10*j);RMB:RMB(const RMB,荐驳园蒙舅锨廓乌坏火丘所札态梗灶咨怂誉拒互屿琵廓搏教贩烟斧践旅房单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),rmb.cpp 程序,RMB RMB:operator-(const RMB,弃聋揽袒肄朴蒸盔琴铂耸涉鹊龟饲辐抑官潘随喀扔私睦棠攫户色坚匠厨撬单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),rmb.cpp 程序,f=r.f;return*this;RMB:operator float()return(float)(y+j/10.0+f/100.0);RMB:operator long()return long(y*100+j*10+f);ostream,泌四呻凯钥蛙雪簿挑簿崩呻债获次商炉钵森眺锥拯健憾桑么液喇罪孪囊吧单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),rmbmain.cpp 程序,#include using namespace std;#include rmb.hint main()RMB r1(3.26f);RMB r2(2.16f);RMB r3=r1+r2;RMB r4=r2-r1;RMB r5=r1*3;cout r1=r1 endl;cout r2=r2 endl;cout r1+r2=r3 endl;cout r1-r2=r4 endl;cout r5=r5 endl;,斯夺饼酥翻检肋流谣龚浊浅枉虫舜劳赶户易皋进版仲徒劣赏基凉他斋愈育单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),练习一,设计一个字符串类String,要求该类能够完成以下操作(用函数重载完成)要求:构造完整的类(构造、析构函数,拷贝构造函数,重载操作符)并且实现以下功能String1=String2+String3(重载)String1+=String2(重载)(int)String1(重载类型转换int),将String对象中的所有字符的ASCII相加后返回。String1 String2(重载相等判断,两字符串相等返回真,不等返回假)cout String1(输入符号重载)编写测试程序测试该类,婉泅磕布炎艇礼汞峨籍区逗并眶瑟闻饱蔼帮驭吕射访翌屉摘涉快司衙妆舒单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),

    注意事项

    本文(单位竣工验收前提交质监站存档文件资料新版.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开