版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章類和對(duì)象3.2構(gòu)造函數(shù)與析構(gòu)函數(shù)例:點(diǎn)類PointclassPoint{private:intx,y;public:Point(){};Point(intxx,intyy){x=xx;y=yy;}Point(Point&p){x=p.x;y=p.y;}intGetX()const{returnx;}intGetY()const{returny;}voidSetXY(intxx,intyy){x=xx;y=yy;}voidShow();};voidPoint::Show(){cout<<"X:"<<x<<",Y:"<<y<<endl;}例:人類PersonclassPerson{protected:char*name;intage;charsex;public:Person(char*n,inta,chars);Person(){name=0;age=0;sex='';}Person(Person&p);~Person(){delete[]name;}voidSetName(char*n);voidSetAge(inta){age=a;}voidSetSex(ints){sex=s;}char*GetName()const{returnname;}intGetAge()const{returnage;}charGetSex()const{returnsex;}voidShow();};#include"person.h"#include<iostream>usingnamespacestd;Person::Person(char*n,inta,chars){name=newchar[strlen(n)+1];strcpy(name,n);age=a;sex=s;}Person::Person(Person&p){name=newchar[strlen()+1];strcpy(name,);age=p.age;sex=p.sex;}voidPerson::SetName(char*n){delete[]name;name=newchar[strlen(n)+1];strcpy(name,n);}voidPerson::Show(){cout<<"Name:"<<name<<",Age:"<<age<<",Sex:"<<sex<<endl;}3.3對(duì)象數(shù)組與對(duì)象指針1、對(duì)象數(shù)組所謂對(duì)象數(shù)組是指每一數(shù)組元素都是對(duì)象的數(shù)組。2、對(duì)象指針聲明對(duì)象指針的一般語(yǔ)法形式為:類名*對(duì)象指針名。當(dāng)用指向?qū)ο蟮闹羔榿?lái)訪問(wèn)對(duì)象成員時(shí),要用“->”操作符。3、this指針C++為成員函數(shù)提供了一個(gè)名字為this的指針,這個(gè)指針?lè)Q為自引用指針。每當(dāng)通過(guò)一個(gè)對(duì)象調(diào)用一個(gè)成員函數(shù)時(shí),系統(tǒng)就自動(dòng)把這個(gè)this指針指向該對(duì)象。因此使用的數(shù)據(jù)成員就是該對(duì)象的數(shù)據(jù)成員。3.4向函數(shù)傳遞對(duì)象1、使用對(duì)象作為函數(shù)參數(shù)2、使用對(duì)象指針作為函數(shù)參數(shù)3、使用對(duì)象引用作為函數(shù)參數(shù)3.5靜態(tài)成員1、靜態(tài)數(shù)據(jù)成員在一個(gè)類中,若將一個(gè)數(shù)據(jù)成員說(shuō)明為static,這種成員稱為靜態(tài)數(shù)據(jù)成員。與一般的數(shù)據(jù)成員不同,無(wú)論建立多少個(gè)類的對(duì)象,都只有一個(gè)靜態(tài)數(shù)據(jù)的拷貝。從而實(shí)現(xiàn)了同一個(gè)類的不同對(duì)象之間的數(shù)據(jù)共享。定義靜態(tài)數(shù)據(jù)成員的格式如下:static數(shù)據(jù)類型數(shù)據(jù)成員名;靜態(tài)數(shù)據(jù)成員在該類定義之外被初始化。訪問(wèn)靜態(tài)數(shù)據(jù)成員可以通過(guò)對(duì)象或指針來(lái)訪問(wèn),也可以通過(guò)類名::來(lái)訪問(wèn)。2、靜態(tài)成員函數(shù)定義靜態(tài)成員函數(shù)的格式如下:static返回類型靜態(tài)成員函數(shù)名(參數(shù)表);與靜態(tài)數(shù)據(jù)成員類似,調(diào)用公有靜態(tài)成員函數(shù)的一般格式有如下幾種:類名::靜態(tài)成員函數(shù)名(實(shí)參表)對(duì)象.靜態(tài)成員函數(shù)名(實(shí)參表)對(duì)象指針->靜態(tài)成員函數(shù)名(實(shí)參表)例:點(diǎn)類Point(演示靜態(tài)成員)classPoint{private:intx,y;staticintcount;public:Point(intxx=0,intyy=0){x=xx;y=yy;count++;}Point(Point&p){x=p.x;y=p.y;count++;}intGetX()const{returnx;}intGetY()const{returny;}voidSetXY(intxx,intyy){x=xx;y=yy;}staticintGetCount(){returncount;}};intPoint::count=0;intmain(){Pointa(100,200),b;cout<<a.GetCount();cout<<Point::GetCount();}3.6友元1、友元函數(shù)友元函數(shù)不是當(dāng)前類的成員函數(shù),而是獨(dú)立于當(dāng)前類的外部函數(shù),但它可以訪問(wèn)該類的所有對(duì)象的成員,包括私有成員、保護(hù)成員和公有成員。2、友元成員一個(gè)類的成員函數(shù)也可以作為另一個(gè)類的友元,這種成員函數(shù)不僅可以訪問(wèn)自己所在類對(duì)象中的所有成員,還可以訪問(wèn)friend聲明語(yǔ)句所在類對(duì)象中的所有成員。3、友元類一個(gè)類也可以作為另一個(gè)類的友元。友元關(guān)系是單向的,不具有交換性。若類X是類Y的友元,類Y不一定是類X的友元。友元關(guān)系也不具有傳遞性。若類X是類Y的友元,Y是類Z的友元,類X不一定是類Z的友元。例:點(diǎn)類Point(演示友元)classPoint{private:intx,y;staticintcount;public:Point(intxx=0,intyy=0){x=xx;y=yy;}intGetX()const{returnx;}intGetY()const{returny;}voidSetXY(intxx,intyy){x=xx;y=yy;}frienddoubleDist(Pointp1,Pointp2);};frienddoubleDist(Pointp1,Pointp2);{doublex,y;x=p1.x-p2.x;y=p1.y-p2.y;returnsqrt(x*x+y*y);}intmain(){Pointa(100,200),b(300,400);cout<<"兩點(diǎn)間的距離為:"<<Dist(p1,p2)<<endl;}3.7類對(duì)象作為成員例:圓類Circle(包含Point類的寫法)classCircle{private:doubleradius;//半徑Pointcenter;//圓心public:Circle(){}Circle(intx,inty,doubler):center(x,y){SetRadius(r);}Circle(Pointp,doubler):center(p){SetRadius(r);}doubleGetRadius()const{returnradius;}voidSetRadius(doubler){radius=(r>=0?r:0);}voidSetValue(intx,inty,doubler){center.SetXY(x,y);SetRadius(r);}doubleArea();voidShow();};constdoublePI=3.14159;inlinedoubleCircle::Area(){returnPI*radius*radius;}voidCircle::Show(){cout<<"圓心為:"center.Show();cout<<"半徑為:"<<radius;}3.8常類型1、const引用const引用的說(shuō)明形式如下:const類型說(shuō)明符&引用名2、const對(duì)象const對(duì)象的說(shuō)明形式如下:const類名對(duì)象名[(參數(shù)表)];如:constDataMybirthday(1980,1,1);const對(duì)象的數(shù)據(jù)成員值不能被改變,const對(duì)象必須進(jìn)行初始化。通過(guò)const對(duì)象只能調(diào)用它的const成員函數(shù),而不能調(diào)用普通成員函數(shù)。3、const數(shù)據(jù)成員const數(shù)據(jù)成員只能通過(guò)構(gòu)造函數(shù)的初始化列表來(lái)獲得初始值。4、const成員函數(shù)const成員函數(shù)的說(shuō)明格式如下:類型說(shuō)明符函數(shù)名(參數(shù)表)const;如:intGetYear()const{returnyear;}const成員函數(shù)不能更新對(duì)象的數(shù)據(jù)成員,也不能調(diào)用對(duì)象的普通成員函數(shù)。const是函數(shù)類型的一個(gè)組成部分,因此在函數(shù)的實(shí)現(xiàn)部分也要帶關(guān)鍵字const。5、引用類型的數(shù)據(jù)成員引用類型的數(shù)據(jù)成員也只能通過(guò)構(gòu)造函數(shù)的初始化列表來(lái)進(jìn)行初始化。例classTest{private:inta;constintb;//不能寫成constintb=10,因類的定義還沒(méi)分配空間int&c;//不能寫成constint&c=a,因變量a還沒(méi)分配空間public:Test(inti,intj,int&k):b(j),c(k){a=i;}Test():b(10),c(a){a=20;}}
第4章派生類與繼承4.2派生類的構(gòu)造函數(shù)與析構(gòu)函數(shù)例:圓類Circle(繼承Point類的寫法)classCircle:publicPoint{private:doubleradius;//半徑public:Circle(){}Circle(intx,inty,doubler):Point(x,y){SetRadius(r);}Circle(Pointp,doubler):Point(p){SetRadius(r);}doubleGetRadius()const{returnradius;}voidSetRadius(doubler){radius=(r>=0?r:0);}voidSetValue(intx,inty,doubler){SetXY(x,y);SetRadius(r);}doubleArea();voidShow();};constdoublePI=3.14159;inlinedoubleCircle::Area(){returnPI*radius*radius;}voidCircle::Show(){cout<<"圓心為:"Point::Show();cout<<"半徑為:"<<radius;}關(guān)于基類和派生類的幾點(diǎn)說(shuō)明1、派生類繼承了它的所有基類中除構(gòu)造函數(shù)和析構(gòu)函數(shù)之外的所有成員。2、在派生類中成員按訪問(wèn)屬性劃分為四種:不可訪問(wèn)的成員、私有成員、保護(hù)成員、公有成員。3、對(duì)從基類繼承下來(lái)的成員初始化工作是通過(guò)調(diào)用基類的構(gòu)造函數(shù)來(lái)完成的,調(diào)用方法是在派生類的構(gòu)造函數(shù)中用初始化列表。4、如果在派生類的構(gòu)造函數(shù)省略了基類的初始化列表,則將調(diào)用基類的缺省構(gòu)造函數(shù)。5、如果基類定義了帶有參數(shù)的構(gòu)造函數(shù)時(shí),派生類就應(yīng)當(dāng)定義構(gòu)造函數(shù),以便顯式地調(diào)用基類的構(gòu)造函數(shù)。6、如果派生類定義了與基類同名的新數(shù)據(jù)成員或成員函數(shù),則此派生類的成員就覆蓋了基類的同名成員,直接使用成員名只能訪問(wèn)到派生類的成員。7、在同名覆蓋的情況下,可以使用基類名+作用域分辨符來(lái)訪問(wèn)基類的同名成員。8、如果派生類和基類的某個(gè)成員函數(shù)重名,但參數(shù)表不同,仍然屬于覆蓋,不屬于重載。9、對(duì)派生類的對(duì)象,構(gòu)造函數(shù)的執(zhí)行過(guò)程是:先調(diào)用基類的構(gòu)造函數(shù)(按它們被繼承時(shí)聲明的順序),再調(diào)用內(nèi)嵌對(duì)象成員的構(gòu)造函數(shù)(按內(nèi)嵌對(duì)象聲明的順序),最后執(zhí)行自己的構(gòu)造函數(shù)體中的內(nèi)容。10、析構(gòu)函數(shù)的調(diào)用次序正好和構(gòu)造函數(shù)的調(diào)用次序相反。例:學(xué)生類Student//student.h#include"person.h"classStudent:publicPerson{protected:char*Department;intNumber;public:Student(){Department=0;Number=0;}Student(char*,int,char,char*,int);Student(Student&stu);~Student(){delete[]Department;}voidSetDep(char*);voidSetNum(intnum){Number=num;}char*GetDep()const{returnDepartment;}intGetNum()const{returnNumber;}voidShow();};//student.cpp#include"student.h"#include<iostream>usingnamespacestd;Student::Student(char*name,intage,charsex,char*dep,intnum) :Person(name,age,sex){Department=newchar[strlen(dep)+1];strcpy(Department,dep);Number=num;}Student::Student(Student&stu):Person(stu){Department=newchar[strlen(stu.Department)+1];strcpy(Department,stu.Department);Number=stu.Number;}voidStudent::SetDep(char*dep){delete[]Department;Department=newchar[strlen(dep)+1];strcpy(Department,dep);}voidStudent::Show(){Person::Show();cout<<"Department:"<<Department<<",Number:"<<Number<<endl;}4.4多重繼承例1:X和Y是基類,Z從X和Y派生classX{public:intb;X(intk){b=k;}};classY{public:intc;Y(intk){c=k;}};classZ:publicX,publicY{public:intd;Z(inti,intj,intk):X(i),Y(j){d=k;}}例2:X和Y都從W派生而來(lái)classW{public:inta;W(intk){d=k;}};classX:publicW{public:intb;X(inti,intk):W(i){b=k;}};classY:publicW{public:intc;Y(inti,intk):W(i){c=k;}};classZ:publicX,publicY{public:intd;Z(inti,intj,intk,intl):X(i,j),Y(i,k){d=l;}}intmain(){Zt(10,20,30,40);cout<<t.X::a<<t.Y::a<<t.b<<t.c<<t.d<<endl;}例3:將W做為X和Y的虛基類classW{public:inta;W(intk){a=k;}};classX:virtualpublicW{public:intb;X(inti,intk):W(i){b=k;}};classY:virtualpublicW{public:intc;Y(inti,intk):W(i){c=k;}};classZ:publicX,publicY{public:intd;Z(inti,intj,intk,intl):W(i),X(i,j),Y(i,k){d=l;}}intmain(){Zt(10,20,30,40);cout<<t.a<<t.b<<t.c<<t.d<<endl;}在使用虛基類機(jī)制時(shí)應(yīng)該注意以下幾點(diǎn):(1)如果在虛基類中定義有帶形參的構(gòu)造函數(shù),并且沒(méi)有定義缺省形式的構(gòu)造函數(shù),則整個(gè)繼承結(jié)構(gòu)中,所有直接或間接的派生類都必須在構(gòu)造函數(shù)的成員初始化表中列出對(duì)虛基類構(gòu)造函數(shù)的調(diào)用,以初始化在虛基類中定義的數(shù)據(jù)成員。(2)建立一個(gè)對(duì)象時(shí),如果這個(gè)對(duì)象中含有從虛基類繼承來(lái)的成員,則虛基類的成員是由最遠(yuǎn)派生類的構(gòu)造函數(shù)通過(guò)調(diào)用虛基類的構(gòu)造函數(shù)進(jìn)行初始化的。該派生類的其他基類對(duì)虛基類構(gòu)造函數(shù)的調(diào)用都自動(dòng)被忽略。(3)若同一層次中同時(shí)包含虛基類和非虛基類,應(yīng)先調(diào)用虛基類的構(gòu)造函數(shù),再調(diào)用非虛基類的構(gòu)造函數(shù),最后調(diào)用派生類構(gòu)造函數(shù);(4)對(duì)于多個(gè)虛基類,構(gòu)造函數(shù)的執(zhí)行順序仍然是先左后右,自上而下;(5)
對(duì)于非虛基類,構(gòu)造函數(shù)的執(zhí)行順序仍是先左后右,自上而下;(6)若虛基類由非虛基類派生而來(lái),則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)。4.5賦值兼容規(guī)則所謂賦值兼容規(guī)則是指在需要基類對(duì)象的任何地方都可以使用公有派生類的對(duì)象來(lái)替代。附:線性表——順序表classSeqList{private:int*data;intsize;intMaxSize;public:SeqList(intsz=100);~SeqList(){delete[]data;}intLength()const{returnsize;}boolIsEmpty()const{returnsize==0;}voidInsert(constint&x,intk);voidDelete(intk);intGetData(intk)const;intFind(constint&x)const;voidShow()const;};SeqList::SeqList(intsz){MaxSize=sz;data=newint[MaxSize];size=0;}voidSeqList::Insert(constint&x,intk){if(k<1||k>size+1){cerr<<"越界出錯(cuò)";exit(1);}if(size==MaxSize){cerr<<"順序表已滿";exit(1);}for(inti=size-1;i>=k-1;i--)data[i+1]=data[i];data[k-1]=x;size++;}voidSeqList::Delete(intk){if(size==0){cerr<<"順序表空";exit(1);}if(k<1||k>size){cerr<<"越界出錯(cuò)";exit(1);}for(inti=k;i<size;i++)data[i-1]=data[i];size--;}intSeqList::GetData(intk)const{if(k<1||k>size){cerr<<"越界出錯(cuò)";exit(1);}returndata[k-1];}intSeqList::Find(constint&x)const{for(inti=0;i<size;i++)if(data[i]==x)returni+1;return0;}voidSeqList::Show()const{for(inti=0;i<size;i++)out<<data[i]<<"";}第5章多態(tài)性5.3運(yùn)算符重載例:復(fù)數(shù)類Complex//mycomplex.h#include<iostream>usingnamespacestd;classComplex{private:doublere,im;public:Complex(doubler=0,doublei=0){re=r;im=i;}doublereal(){returnre;}doubleimag(){returnim;}Complexoperator+(){return*this;}Complexoperator-(){returnComplex(-re,-im);}Complex&operator+=(Complex&);Complex&operator-=(Complex&);Complex&operator*=(Complex&);Complex&operator/=(Complex&);friendComplexoperator+(Complex&,Complex&);friendComplexoperator-(Complex&,Complex&);friendComplexoperator*(Complex&,Complex&);friendComplexoperator/(Complex&,Complex&);friendbooloperator==(Complex&,Complex&);friendbooloperator!=(Complex&,Complex&);friendostream&operator<<(ostream&,Complex&);friendistream&operator>>(istream&,Complex&);operatordouble(){returnre;}};//mycomplex.cpp#include"mycomplex.h"#include<iostream>usingnamespacestd;Complex&Complex::operator+=(Complex&c){re+=c.re;im+=c.im;return*this;}Complex&Complex::operator-=(Complex&c){re-=c.re;im-=c.im;return*this;}Complex&Complex::operator*=(Complex&c){doublet=re*c.re-im*c.im;im=re*c.im+im*c.re;re=t;return*this;}Complex&Complex::operator/=(Complex&c){doublem=c.re*c.re+c.im*c.im;doublet=(re*c.re+im*c.im)/m;im=(im*c.re-re*c.im)/m;re=t;return*this;}Complexoperator+(Complex&a,Complex&b){returnComplex(a.re+b.re,a.im+b.im);}Complexoperator-(Complex&a,Complex&b){returnComplex(a.re-b.re,a.im-b.im);}Complexoperator*(Complex&a,Complex&b){returnComplex(a.re*b.re-a.im*b.im,a.re*b.im+a.im*b.re);}Complexoperator/(Complex&a,Complex&b){doublem=b.re*b.re+b.im*b.im;returnComplex((a.re*b.re+a.im*b.im)/m,(a.im*b.re-a.re*b.im)/m);}booloperator==(Complex&a,Complex&b){returna.re==b.re&&a.im==b.im;}booloperator!=(Complex&a,Complex&b){returna.re!=b.re||a.im!=b.im;}ostream&operator<<(ostream&os,Complex&c){os<<c.re<<'+'<<c.im<<'i';returnos;}istream&operator>>(istream&is,Complex&c){is>>c.re>>c.im;returnis;}
例:分?jǐn)?shù)類Fraction#include<iostream>usingnamespacestd;classFraction{private:intnum,den;voidreduce();public:Fraction(intn=0,intd=1);Fractionoperator+(){return*this;}Fractionoperator-(){returnFraction(-num,den);}Fraction&operator+=(Fraction&);Fraction&operator-=(Fraction&);Fraction&operator*=(Fraction&);Fraction&operator/=(Fraction&);Fraction&operator++();Fractionoperator++(int);operatordouble();friendFractionoperator+(Fraction&,Fraction&);friendFractionoperator-(Fraction&,Fraction&);friendFractionoperator*(Fraction&,Fraction&);friendFractionoperator/(Fraction&,Fraction&);friendbooloperator==(Fraction&,Fraction&);friendbooloperator!=(Fraction&,Fraction&);friendbooloperator<(Fraction&,Fraction&);friendbooloperator<=(Fraction&,Fraction&);friendbooloperator>(Fraction&,Fraction&);friendbooloperator>=(Fraction&,Fraction&);friendostream&operator<<(ostream&,Fraction&);friendistream&operator>>(istream&,Fraction&);};#include"fraction.h"#include<iostream>usingnamespacestd;Fraction::Fraction(intn,intd){num=n;den=d;if(den==0)den=1;reduce();}Fraction&Fraction::operator+=(Fraction&f){num=num*f.den+den*f.num;den=den*f.den;reduce();return*this;}Fraction&Fraction::operator-=(Fraction&f){num=num*f.den-den*f.num;den=den*f.den;reduce();return*this;}Fraction&Fraction::operator*=(Fraction&f){num=num*f.num;den=den*f.den;reduce();return*this;}Fraction&Fraction::operator/=(Fraction&f){num=num*f.den;den=den*f.num;reduce();return*this;}Fraction&Fraction::operator++(){num+=den;return*this;}FractionFraction::operator++(int){Fractiontemp=*this;num+=den;returntemp;}Fraction::operatordouble(){returnstatic_cast<double>(num)/den;}Fractionoperator+(Fraction&x,Fraction&y){returnFraction(x.num*y.den+x.den*y.num,x.den*y.den);}Fractionoperator-(Fraction&x,Fraction&y){returnFraction(x.num*y.den-x.den*y.num,x.den*y.den);}Fractionoperator*(Fraction&x,Fraction&y){returnFraction(x.num*y.num,x.den*y.den);}Fractionoperator/(Fraction&x,Fraction&y){returnFraction(x.num*y.den,x.den*y.num);}booloperator==(Fraction&x,Fraction&y){return(x.num*y.den==x.den*y.num);}booloperator!=(Fraction&x,Fraction&y){return!(x==y);}booloperator<(Fraction&x,Fraction&y){return(x.num*y.den<x.den*y.num);}booloperator<=(Fraction&x,Fraction&y){return!(y>x);}booloperator>(Fraction&x,Fraction&y){return(y<x);}booloperator>=(Fraction&x,Fraction&y){return!(x<y);}ostream&operator<<(ostream&os,Fraction&f){returnos<<f.num<<'/'<<f.den;}istream&operator>>(istream&is,Fraction&f){charch;is>>f.num>>ch>>f.den;returnis;}intgcd(intm,intn){intk;while(n!=0){k=m%n;m=n;n=k;}returnm;}voidFraction::reduce(){if(den<0){num=-num;den=-den;}if(den==1)return;intsgn=num<0?-1:1;intg=gcd(sgn*num,den);num/=g;den/=g;}例:在人類Pe
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幕墻鋼結(jié)構(gòu)施工安全教育培訓(xùn)方案
- 鋼結(jié)構(gòu)幕墻施工項(xiàng)目總結(jié)與經(jīng)驗(yàn)分享方案
- 幕墻鋼結(jié)構(gòu)抗風(fēng)壓試驗(yàn)技術(shù)方案
- 鋼結(jié)構(gòu)幕墻環(huán)境影響評(píng)估方案
- 水滸傳試題及答案
- 數(shù)學(xué)三歷年真題及答案
- 2026年崗位職責(zé)與績(jī)效考核制度
- 金融行業(yè)數(shù)據(jù)治理手冊(cè)
- 醫(yī)療機(jī)構(gòu)運(yùn)營(yíng)管理與質(zhì)量控制
- 2025年企業(yè)品牌建設(shè)與品牌傳播手冊(cè)
- JBT 7946.2-2017 鑄造鋁合金金相 第2部分:鑄造鋁硅合金過(guò)燒
- 流程與TOC改善案例
- 【當(dāng)代中國(guó)婚禮空間設(shè)計(jì)研究4200字(論文)】
- GB/T 20322-2023石油及天然氣工業(yè)往復(fù)壓縮機(jī)
- 提撈采油安全操作規(guī)程
- DB3211-T 1048-2022 嬰幼兒日間照料托育機(jī)構(gòu)服務(wù)規(guī)范
- YY/T 1846-2022內(nèi)窺鏡手術(shù)器械重復(fù)性使用腹部沖吸器
- GB/T 15390-2005工程用焊接結(jié)構(gòu)彎板鏈、附件和鏈輪
- GA 1016-2012槍支(彈藥)庫(kù)室風(fēng)險(xiǎn)等級(jí)劃分與安全防范要求
- 安全管理人員紅頭任命文件
- 6.項(xiàng)目成員工作負(fù)荷統(tǒng)計(jì)表
評(píng)論
0/150
提交評(píng)論