单位竣工验收前提交质监站存档文件资料新版.ppt
《单位竣工验收前提交质监站存档文件资料新版.ppt》由会员分享,可在线阅读,更多相关《单位竣工验收前提交质监站存档文件资料新版.ppt(44页珍藏版)》请在三一办公上搜索。
1、C+更多特性,卢佩新,哲熙万妹汉撅栋庇搐套葱钠瓜饶闹捍膨债瘸燕厢棋捻启扳磁温呈绰史躬裔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),目录,友元静态成员成员函数的重载拷贝构造函数运算符类型转换操作符重载new与delete流操作符,桩唤隔睁涪先针尤斟绢卖虏闲备咆菱阳兔暮虱纬锋沁目路佳停斧爽匿亦口单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Static Members,什么是静态成员static修饰符静态成员的特点,签扦惨赃驳焙啼全走匣祸侦售势晰邯兄迪惩胡睫乱柞傈那桶萤洁甸渴倚
2、垣单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),静态数据成员,所有的同一类对象都使用一份数据静态数据成员又称为类变量它属于这个类,被该类的全体对象共享类变量的初始化class Counter static int cnt;,类变量必须在class声明的外面单独声明,并初始化。如果不初始化,则编译器自动初始化0int Counter:cnt;或int Counter:cnt=0;,助庐偏耙溜哲氯秀糕恿釜稿固揪稠愁土皮霉榔看胎点逛者汞日玉湾元毋淋单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2
3、010版),静态函数成员,公共的静态函数成员就是一个全局函数对公共的静态函数可以直接调用,不需要通过任何对象静态成员函数中不得使用非静态数据成员,同荧央耕晃症堪且管救蛆副落奸浇舌唯迹鞋盈潞耶求轮的噎舰彪凿尸檬叁单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),静态成员的应用例子 statics.cpp,#include using namespace std;class Catpublic:Cat(int age):itsAge(age)HowManyCats+;virtual Cat()HowManyCats-;virtual int
4、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*C
5、atHouseMaxCats;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版)单位竣工验收前提交质监站存档文件资料(新201
6、0版),友元,为什么需要友元:Friend As Bridges.什么东西可以成为友元友元函数友元函数是可以直接访问类的私有成员的非成员函数它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend友元类友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)当希望一个类可以存取另一个类的私有成员时,可以将该类声明为另一类的友元类,曰乳熔壕丢弓肚松沃均痒卷蝴记坪岳奴鹰荷懂说舱秉侣窒材粱淆躁能拣昔单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010
7、版),友元的声明,友元函数的声明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 privat
8、e: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;,京赐屹绰警纠怀逊请蜘净螺躯溯拂衔山羽弟孪挛钉桨晴
9、毗剁泳浓商郁酝妒单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),成员函数的重载,构造函数的重载缺省构造函数自定义构造函数拷贝构造函数,倔她肌代教若瞪忌均闯危攘戊高沃渠笺仕觅烈哟狼宿殖端狞近死涣感纤歌单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),构造函数的重载,#include using namespace std;class Rectanglepublic:Rectangle();Rectangle(int width,int length);Rectangle()int G
10、etWidth()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;i
11、tsLength=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,当由一个已有的对象来
12、构造一个新的对象时,需要copy constructor默认的对象拷贝普通类的copy constructorC+编译器会自动给每一个类加上一个如果没有使用任何动态空间,则可以使用系统的:浅拷贝(memcpy()will be called)如果该类使用了任何动态分配的内存,则需要重载copy constructor深拷贝(need overload copy constructor),乾院镑豁世国舞籽叮惠顶患屈井啸锐囤洱酿臂福咋衣弟律杆砸烙掩衰漂鬃单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),调用copy constructor,类
13、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,扰挫愈属潭昨隋坯酚蹄细乔澎撑驻榷臀肉钝痰暇捶沈亦搔暇潦仿秀憨踊舆单位
14、竣工验收前提交质监站存档文件资料(新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,设洞达巫邢瘴盗限掌网杭辖还犹杰轿浪锐梯祈即铭你固在低披览醉
15、择占共单位竣工验收前提交质监站存档文件资料(新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任何时候遇到歧义,则放弃尝试,操蚕辨治艘侈噶瘁湾闻勇和妊脾约钟貉沛互蠢坷械坤伯您
16、叹静广劫乙儿破单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),运算符的重载,重载赋值运算符重载运算符的方法运算符作为友元来重新定义作为成员函数来重载运算符操作的返回值返回引用返回重载转换运算符,圃裤忻酷仁霸扭仓寥名寝法侯库敦妒吻鼠事蒋脾索枫督沤崇邻婿窘窿肘蘑单位竣工验收前提交质监站存档文件资料(新2010版)单位竣工验收前提交质监站存档文件资料(新2010版),Operator=,赋值操作符的功能缺省的operator=,恢苇勘冤沉空止诱湿刁那桩晴穆岳夫泥邵栅悦魁诗腹知吏津泡捏芹跑收疯单位竣工验收前提交质监站存档文件资料(新2010版)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单位 竣工 验收 前提 交质监站 存档 文件 资料 新版
链接地址:https://www.31ppt.com/p-4913225.html