版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
靜態(tài)成員與友元演示文稿當(dāng)前1頁,總共36頁。優(yōu)選靜態(tài)成員與友元當(dāng)前2頁,總共36頁。靜態(tài)成員與友元
學(xué)習(xí)本章后,應(yīng)該掌握聲明靜態(tài)數(shù)據(jù)成員,掌握使用靜態(tài)成員函數(shù)以及靜態(tài)成員函數(shù)與特定對象無關(guān)的特性。把握友元的使用,理解友元作用的局限性。當(dāng)前3頁,總共36頁。第六章靜態(tài)成員與友元函數(shù)
§6-1靜態(tài)成員
§6-2友元
§6-3const數(shù)據(jù)保護(hù)當(dāng)前4頁,總共36頁。§6-1靜態(tài)成員
6.1.1靜態(tài)成員的需要性有一些屬性是類中所有成員所共有的,屬于類的一部分,但既不適于用普通成員表示,也不適于全局變量表示的數(shù)據(jù),用靜態(tài)成員表示。對象個數(shù)對象鏈表頭、尾指針類的狀態(tài)一個類對象的public成員可被本類的其他對象存取,即可供所有對象使用,但是此類的每個對象都各自擁有一份,不存在真正意義上的共享成員。所以,C++提供了靜態(tài)成員,用以解決同一個類的不同對象之間數(shù)據(jù)成員和函數(shù)的共享問題。當(dāng)前5頁,總共36頁?!?-1靜態(tài)成員
聲明為static的類成員為靜態(tài)成員,解決同一個類的不同對象之間的數(shù)據(jù)和函數(shù)共享問題。靜態(tài)成員的特點(diǎn)是:不管這個類創(chuàng)建了多少個對象,其靜態(tài)成員在內(nèi)存中只保留一份拷貝,這個拷貝為該類的所有對象所共享。類的靜態(tài)成員有兩種:靜態(tài)數(shù)據(jù)成員和靜態(tài)函數(shù)成員,下面分別對它們進(jìn)行討論。當(dāng)前6頁,總共36頁。6.1.2靜態(tài)數(shù)據(jù)成員
面向?qū)ο蠓椒ㄖ羞€有類屬性(classattribute)的概念,類屬性是描述類的所有對象的共同特征的一個數(shù)據(jù)項,對于任何對象實例,它的屬性值是相同的,C++通過靜態(tài)數(shù)據(jù)成員來實現(xiàn)類屬性。靜態(tài)數(shù)據(jù)成員:是類的數(shù)據(jù)成員的一種特例,采用static關(guān)鍵字來定義,屬于類屬性,每個類只有一個拷貝,由該類的所有對象共同維護(hù)和使用,從而實現(xiàn)了同類的不同對象之間的數(shù)據(jù)共享。
當(dāng)前7頁,總共36頁。6.1.2靜態(tài)數(shù)據(jù)成員
靜態(tài)數(shù)據(jù)成員的定義分為兩個必不可少的部分:類內(nèi)聲明、類外初始化。在類內(nèi),聲明靜態(tài)數(shù)據(jù)成員的格式為:
數(shù)據(jù)類型類名::靜態(tài)數(shù)據(jù)成員名=初始值;
static
數(shù)據(jù)類型靜態(tài)數(shù)據(jù)成員名;
在類外初始化的形式為:
除了在初始化時可以在類外通過類對靜態(tài)成員賦初值外,其他情況下對靜態(tài)成員的存取規(guī)則與一般成員相同。即:在類內(nèi)可以任意存??;在類外,通過對象只能訪問存取屬性為public的成員。
當(dāng)前8頁,總共36頁。6.1.2靜態(tài)數(shù)據(jù)成員對靜態(tài)數(shù)據(jù)成員的定義與使用應(yīng)注意
:靜態(tài)數(shù)據(jù)成員的訪問屬性同普通數(shù)據(jù)成員一樣,可以為public、private和protected。靜態(tài)數(shù)據(jù)成員脫離具體對象而獨(dú)立存在,其存儲空間是獨(dú)立分配的,不是任何對象存儲空間的一部分,但邏輯上所有的對象都共享這一存儲單元,所以對靜態(tài)數(shù)據(jù)成員的任何操作都將影響共享這一存儲單元的所有對象。靜態(tài)數(shù)據(jù)成員是一種特殊的數(shù)據(jù)成員,它表示類屬性,而不是某個對象單獨(dú)的屬性,它在程序開始產(chǎn)生,在程序結(jié)束時消失。靜態(tài)數(shù)據(jù)成員具有靜態(tài)生存期。由于在類的定義中僅僅是對靜態(tài)數(shù)據(jù)成員進(jìn)行了引用性聲明,因此必須在文件作用域的某個地方對靜態(tài)數(shù)據(jù)成員進(jìn)行定義并初始化,即應(yīng)在類體外對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化(靜態(tài)數(shù)據(jù)成員的初始化與它的訪問控制權(quán)限無關(guān))。靜態(tài)數(shù)據(jù)成員初始化時前面不加static關(guān)鍵字,以免與一般靜態(tài)變量或?qū)ο蠡煜?。由于靜態(tài)數(shù)據(jù)成員是類的成員,因此在初始化時必須使用類作用域運(yùn)算符::限定它所屬的類。當(dāng)前9頁,總共36頁。12345678classStudent{private:char*Name;intNo;
staticintcountS;};//在類外對靜態(tài)成員初始化如下:intStudent::countS=0;例如:我們對某學(xué)校不同學(xué)生的特性進(jìn)行抽象,找出共性設(shè)計一個學(xué)生類Student,如果需要統(tǒng)計學(xué)生的總?cè)藬?shù),可以在類外定義一個全局變量。但是類外的全局變量不受類存取控制的保護(hù)。因此可以將學(xué)生人數(shù)定義為靜態(tài)成員,即學(xué)生類的類屬性,設(shè)計的Student類如下:注意:
對靜態(tài)數(shù)據(jù)成員的訪問還可以通過類的成員函數(shù)來進(jìn)行。
6.1.2靜態(tài)數(shù)據(jù)成員P335例子當(dāng)前10頁,總共36頁。#include<iostream.h>classMyclass{public:Myclass(int,int,int);voidGetNumber();voidGetSum();private:intA,B,C;staticintSum;};intMyclass::Sum=0;Myclass(inta,intb,intc){A=a;B=b;C=c;Sum+=A+B+C;}voidGetNumber(){cout<<“Number=”<<A<<“,”<<B<<“,”<<C<<endl;}§6-1靜態(tài)成員voidGetSum(){cout<<“Sum=”<<Sum<<endl;}voidmain(){MyclassM(3,7,10),N(14,9,11);M.GetNumber();N.GetNumber();M.GetSum();N.GetSum();}Number=3,7,10Number=14,9,11Sum=54Sum=54當(dāng)前11頁,總共36頁。6.1.3靜態(tài)成員函數(shù)
靜態(tài)數(shù)據(jù)成員為類屬性,在定義類后、建立對象前就存在。因此,在建立對象前不能通過成員函數(shù)存取靜態(tài)數(shù)據(jù)成員。C++提供了靜態(tài)成員函數(shù),用來存取類的靜態(tài)成員。靜態(tài)成員函數(shù)是用關(guān)鍵字static聲明的成員函數(shù),它屬于整個類而不屬于類中的某個對象,是該類的所有對象共享的成員函數(shù)。靜態(tài)成員函數(shù)可以在類體內(nèi)定義。也可以在類內(nèi)聲明為static,在類外定義。當(dāng)在類外定義時,不能再使用static關(guān)鍵字作為前綴。
靜態(tài)函數(shù)成員的調(diào)用形式有如下兩種:
(1)通過類名調(diào)用靜態(tài)成員函數(shù);
(2)通過對象調(diào)用靜態(tài)成員函數(shù);當(dāng)前12頁,總共36頁。6.1.3靜態(tài)成員函數(shù)
(1)通過類名調(diào)用靜態(tài)成員函數(shù)靜態(tài)函數(shù)成員為類的全體對象而不是部分對象服務(wù),與類相聯(lián)系而不與類的對象聯(lián)系,因此訪問靜態(tài)函數(shù)成員時,可以直接使用類名。格式如下:
對象.靜態(tài)成員函數(shù)
類名::靜態(tài)成員函數(shù);(2)通過對象調(diào)用靜態(tài)成員函數(shù),格式為:注意:
通過類名訪問靜態(tài)成員函數(shù)不受靜態(tài)成員函數(shù)訪問權(quán)限的控制。例p338當(dāng)前13頁,總共36頁。6.1.3靜態(tài)成員函數(shù)通過對象調(diào)用靜態(tài)成員函數(shù)應(yīng)注意:
通過對象訪問靜態(tài)成員函數(shù)的前提條件為對象已經(jīng)建立。靜態(tài)成員函數(shù)的訪問權(quán)限同普通成員函數(shù)一樣。靜態(tài)成員函數(shù)也可以省略參數(shù)、使用默認(rèn)形參值、以及進(jìn)行重載。靜態(tài)成員函數(shù)與普通成員函數(shù)在使用還有如下區(qū)別:由于靜態(tài)成員函數(shù)在類中只有一個拷貝(副本),因此它訪問對象的成員時要受到一些限制:靜態(tài)成員函數(shù)可以直接訪問類中說明的靜態(tài)成員,但不能直接訪問類中的非靜態(tài)成員;若要訪問非靜態(tài)成員,必須通過參數(shù)傳遞的方式得到相應(yīng)的對象,再通過對象來訪問。由于靜態(tài)成員是獨(dú)立于類對象而存在的,因此靜態(tài)成員沒有this指針。當(dāng)前14頁,總共36頁。12345678910111213141516/**************************************p7_9.cpp**含有對象計數(shù)器的學(xué)生類**************************************/#include<iostream>usingnamespacestd;classStudent{private:char*Name;intNo;
staticintcountS;public:
staticintGetCount(){returncountS;}【例7-9】使用靜態(tài)成員維護(hù)內(nèi)存中Student類對象的個數(shù)(對象計數(shù)器)。分析:為了維護(hù)內(nèi)存中Student類對象的個數(shù),除了定義一個靜態(tài)數(shù)據(jù)成員存儲類對象個數(shù)外,還要在所有可能建立對象、刪除對象的場合記載對對象個數(shù)的修改。靜態(tài)數(shù)據(jù)成員靜態(tài)成員函數(shù)當(dāng)前15頁,總共36頁。1718192021222324252627282930313233343536
Student(char*="",int=0);Student(Student&);~Student();};Student::Student(char*Name,intNo){this->Name=newchar[strlen(Name)+1];strcpy(this->Name,Name);this->No=No;
++countS;cout<<"constructing:"<<Name<<endl;}Student::Student(Student&r){Name=newchar[strlen(r.Name)+1];strcpy(Name,r.Name);No=r.No;++countS;cout<<"copyconstructing:"<<r.Name<<endl;}靜態(tài)數(shù)據(jù)成員p339當(dāng)前16頁,總共36頁。37383940414243444546474849505152535455565758
Student::~Student(){cout<<"destructing:"<<Name<<endl;delete[]Name;--countS;}intStudent::countS=0;intmain(){cout<<Student::GetCount()<<endl;//使用類調(diào)用靜態(tài)成員函數(shù)
Students1("Antony");//建立一個新對象
cout<<s1.GetCount()<<endl;//通過對象調(diào)用靜態(tài)成員函數(shù)
Students2(s1);//利用已有對象建立一個新對象
cout<<s1.GetCount()<<endl;StudentS3[2];//建立一個對象數(shù)組
cout<<Student::GetCount()<<endl;Student*s4=newStudent[3];//建立一動態(tài)對象數(shù)組
cout<<Student::GetCount()<<endl;delete[]s4;//刪除動態(tài)對象數(shù)組
cout<<Student::GetCount()<<endl;return0;}運(yùn)行結(jié)果:0constructing:Antony1copyconstructing:Antony2constructing:constructing:4constructing:constructing:constructing:7destructing:destructing:destructing:4destructing:destructing:destructing:Antonydestructing:Antony當(dāng)前17頁,總共36頁?!?-2友元6.2.1需要友元的原因
普通函數(shù)需要直接訪問一個類的保護(hù)或私有數(shù)據(jù)成員。友元提供了不同類對象的成員函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進(jìn)行數(shù)據(jù)共享的機(jī)制。即通過友元的方式,一個一般函數(shù)可以訪問一個類的私有數(shù)據(jù),一個類可訪問另一個類的私有數(shù)據(jù)。方便編程,但破壞了類的封裝。
友元不是類的成員,但它可以訪問類的任何成員(包括私有成員)。聲明為友元的外界對象既可以是另一個類的成員函數(shù),也可以是不屬于任何類的一般的函數(shù),稱之為友元函數(shù);友元也可以是整個的一個類,稱之為友元類。
當(dāng)前18頁,總共36頁。6.2.2友元函數(shù)
友元函數(shù)是在類定義中由關(guān)鍵字friend修飾的非成員函數(shù)。其格式為:friend返回類型函數(shù)名(形參表)
{
…//函數(shù)體
}注意:友元函數(shù)的定義與成員函數(shù)一樣,只是在類中用關(guān)鍵字friend予以說明。但友元函數(shù)是一個普通的函數(shù),它不是本類的成員函數(shù),因此在調(diào)用時不能通過對象調(diào)用。友元函數(shù)也可以在類內(nèi)聲明,在類外定義。友元函數(shù)對類成員的存取與成員函數(shù)一樣,可以直接存取類的任何存取控制屬性的成員;可通過對象存取形參、函數(shù)體中該類類型對象的所有成員。private、protected、public訪問權(quán)限與友員函數(shù)的聲明無關(guān),因此原則上,友元函數(shù)聲明可以放在類體中任意部分,但為程序清晰,一般放在類體的后面。當(dāng)前19頁,總共36頁。1234567891011121314/******************************************p7_10.cpp**計算火車旅途時間的友元函數(shù)******************************************/#include<iostream>usingnamespacestd;classClock{private:intH,M,S;public:
voidShowTime(){cout<<H<<":"<<M<<":"<<S<<endl; }
voidSetTime(intH=0,intM=0,intS=0){this->H=H,this->M=M,this->S=S; }【例】使用友元函數(shù)計算某次火車的旅途時間。分析:為了簡化問題,分別用兩個Clock類對象表示某次火車出發(fā)時間、到達(dá)時間。假定火車均為24小時內(nèi)到達(dá),旅途時間為到達(dá)時間減出發(fā)時間。當(dāng)前20頁,總共36頁。1718192021222324252627282930313233Clock(intH=0,intM=0,intS=0){this->H=H,this->M=M,this->S=S;}
friendClockTripTime(Clock&StartTime,Clock&EndTime);};ClockTripTime(Clock&StartTime,Clock&EndTime){inttH,tM,tS;//臨時存儲小時、分、秒數(shù)
intcarry=0;//借位
ClocktTime;//臨時存儲時間
(tS=EndTime.S-StartTime.S)>0?carry=0:tS+=60,carry=1;(tM=EndTime.M-StartTime.M-carry)>0?carry=0:tM+=60,carry=1;(tH=EndTime.H-StartTime.H-carry)>0?carry=0:tH+=24;tTime.SetTime(tH,tM,tS);returntTime;}友元函數(shù)當(dāng)前21頁,總共36頁。3435363738394041intmain(){ ClockC1(8,10,10),C2(6,1,2);//定義Clock類的對象
ClockC3;//定義Clock類對象,存儲結(jié)果
C3=TripTime(C1,C2); C3.ShowTime();return0;}運(yùn)行結(jié)果:21:50:52
說明:在本例中,在Clock類體中設(shè)計了一個友元函數(shù)TripTime(),它不是類的成員函數(shù)。但是,可以看到友元函數(shù)中通過對象名StartTime和EndTime直接訪問了它們的的私有數(shù)據(jù)。成員StartTime.H、StartTime.M、StartTime.S,這就是友元的關(guān)鍵所在。使用友元成員的好處是兩個類可以某種方式相互合作、協(xié)同工作,共同完成某一任務(wù)。當(dāng)前22頁,總共36頁。6.2.3友元類
友元除可以是函數(shù)外,還可以是類,如果一個類聲明為另一個類的友元,則該類稱為另一個類的友元類。若A類為B類的友元類,則A類的所有成員函數(shù)都是B類的友元函數(shù),都可以訪問B類的任何數(shù)據(jù)成員。友元類的聲明是在類名之前加上關(guān)鍵字friend來實現(xiàn)。聲明A類為B類的友員類的格式如下:classB{
…
friendclassA;};注意:
在聲明A類為B類的友元類時,A類必須已經(jīng)存在,但是如果A類又將B類聲明為自己的友員類時,又會出現(xiàn)B類不存在的錯誤。當(dāng)前23頁,總共36頁。6.2.3友元類前向引用聲明:當(dāng)遇到兩個類相互引用的情況時,必然有一個類在定義之前就將被引用,怎么辦呢?對此,C++專門規(guī)定了前向引用聲明用以解決這類問題,前向引用聲明是在引用未定義的類之前對該類進(jìn)行聲明,它只是為程序引入一個代表該類的標(biāo)識符,類的具體定義可以在程序的其他地方進(jìn)行。12345678910//前向引用聲明示例classB;//前向引用聲明
classA{//A類的定義
public://外部接口
voidfunA(Bb);//以B類對象b為形參的成員函數(shù)
};
classB{//B類的定義
public://外部接口
voidfunB(Aa);//以A類對象a為形參的成員函數(shù)
};當(dāng)前24頁,總共36頁。12345678910111213/*************************************p7_11.cpp**計算火車旅途時間的友元類*************************************/#include<iostream>usingnamespacestd;classTrainTrip;//前向引用聲明classClock{private:intH,M,S;public:
voidShowTime(){cout<<H<<":"<<M<<":"<<S<<endl; }【例7-11】使用友元類計算某次火車的旅途時間。
分析:在p7_8.cpp中,定義了一個組合類TrainTrip,組合了Clock類對象表示某次火車出發(fā)時間、到達(dá)時間。但是,TrainTrip中的成員函數(shù)無法直接存取出發(fā)時間、到達(dá)時間中的訪問控制為private的H、M、S。如果將TrainTrip定義為Clock的友員類,則TrainTrip中的成員函數(shù)可以直接存取出發(fā)時間、到達(dá)時間中的數(shù)據(jù)成員。
當(dāng)前25頁,總共36頁。14151617181920212223242526272829303132333435
voidSetTime(intH=0,intM=0,intS=0){this->H=H,this->M=M,this->S=S;}
Clock(intH=0,intM=0,intS=0){this->H=H,this->M=M,this->S=S;}friendclassTrainTrip;};classTrainTrip{private:char*TrainNo;//車次
ClockStartTime;//出發(fā)時間
ClockEndTime;//到達(dá)時間public:
TrainTrip(char*TrainNo,ClockS,ClockE){ this->TrainNo=TrainNo;StartTime=S; EndTime=E;}當(dāng)前26頁,總共36頁。36373839404142434445464748495051525354555657
ClockTripTime(){ inttH,tM,tS;//臨時存儲小時、分、秒數(shù)
intcarry=0;//借位
ClocktTime;//臨時存儲時間
(tS=EndTime.S-StartTime.S)>0?carry=0:tS+=60,carry=1;(tM=EndTime.M-StartTime.M-carry)>0?carry=0:tM+=60,carry=1;(tH=EndTime.H-StartTime.H-carry)>0?carry=0:tH+=24; tTime.SetTime(tH,tM,tS);returntTime;}};intmain(){ClockC1(8,10,10),C2(6,1,2); //定義Clock類的對象
ClockC3;//定義Clock類對象,存儲結(jié)果
TrainTripT1("K16",C1,C2); //定義TrainTrip對象
C3=T1.TripTime(); C3.ShowTime();return0;}運(yùn)行結(jié)果:21:50:52當(dāng)前27頁,總共36頁。6.2.3友元類友元關(guān)系具有以下性質(zhì):
友元關(guān)系是不能傳遞的,B類是A類的友元,C類是B類的友元,C類和A類之間,如果沒有聲明,就沒有任何友元關(guān)系,不能進(jìn)行數(shù)據(jù)共享。友元關(guān)系是單向的,如果聲明B類是A類的友元,B類的成員函數(shù)就可以訪問A類的私有和保護(hù)數(shù)據(jù),但A類的成員函數(shù)卻不能訪問B類的私有和保護(hù)數(shù)據(jù)。友元概念的引入,提高了數(shù)據(jù)的共享性,加強(qiáng)了函數(shù)與函數(shù)之間,類與類之間的相互聯(lián)系,大大提高程序的效率,這是友元的優(yōu)點(diǎn),但友元也破壞了數(shù)據(jù)隱蔽和數(shù)據(jù)封裝,導(dǎo)致程序的可維護(hù)性變差,給程序的重用和擴(kuò)充埋下了深深的隱患,這是友元的缺點(diǎn)。對友元的使用必須慎重,要具體問題具體分析,在提高效率和增加共享之間把握好一個“度”,在共享和封裝之間進(jìn)行恰當(dāng)?shù)恼壑云胶狻?/p>
當(dāng)前28頁,總共36頁。6.3Const數(shù)據(jù)保護(hù)
由于常量是不可改變的,因此我們將“?!睆V泛用在C++中用來表示不可改變的量,如前面講的常變量。不僅變量可以定義為常變量,對象、類的成員也可以定義為“?!?。在程序中,我們有時候不允許修改某些特定的對象。如果某個對象不允許被修改,則該對象稱為常對象。C++用關(guān)鍵字const來定義常對象。
const也可以用來限定類的數(shù)據(jù)成員和成員函數(shù),分別稱為類的常數(shù)據(jù)成員和常函數(shù)成員。C++中常對象、常數(shù)據(jù)成員、常成員函數(shù)的訪問和調(diào)用各有其特別之處。常對象和常成員概念的建立,明確規(guī)定了程序中各種對象的變與不變的界線,從而進(jìn)一步增強(qiáng)了C++程序的安全性和可控性。當(dāng)前29頁,總共36頁。6.3Const數(shù)據(jù)保護(hù)
6.3.1
常引用在說明引用時用const修飾常引用所引用的對象不能被更新#include<iostream.h>voiddisplay(constdouble&);intmain(){doubled=9.5;display(d);return0;}voiddisplay(constdouble&r){r=10.5;×cout<<r<<endl;√}當(dāng)前30頁,總共36頁。6.3.2常對象
C++編譯器對常對象(const對象)的使用是極為苛刻的,它不允許常對象調(diào)用任何類的成員函數(shù),而且常對象一旦定義,在其生存期內(nèi)不允許改變,否則將導(dǎo)致編譯錯誤。常對象定義格式如下:
類型const對象名;
或
const類型對象名;1234567891011intmain(){
constClockC1(9,9,9);//定義常對象C1ClockconstC2(10,10,10);//定義常對象C2ClockC3(11,11,11);//C1=C3;//錯誤!C1為常對象,不能被賦值
//C1.ShowTime();//錯誤!C1為常對象,不能訪問非常成員函數(shù)
C3.ShowTime();//C1.SetTime(0,0,0);//錯誤!C1為常對象,不能被更新!
return0;}當(dāng)前31頁,總共36頁。6.3.3常數(shù)據(jù)成員
使用const說明的數(shù)據(jù)成員稱為常數(shù)據(jù)成員。常數(shù)據(jù)成員的定義與一般常變量的定義方式相同,只是它的定義必須出現(xiàn)在類體中。常數(shù)據(jù)成員同樣也必須進(jìn)行初始化,并且不能被更新。但常數(shù)據(jù)成員的初始化只能通過構(gòu)造函數(shù)的初始化列表進(jìn)行。常數(shù)據(jù)成員定義的格式如下:
數(shù)據(jù)類型
const數(shù)據(jù)成員名;或
const數(shù)據(jù)類型數(shù)據(jù)成員名;當(dāng)前32頁,總共36頁。1234567891011121314151617#include<i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技園區(qū)研發(fā)用地租賃合同協(xié)議書
- 主題公園土建施工合同
- 2024年甲方提供場地乙方提供技術(shù)的安防監(jiān)控合作合同
- 電商公司會計人員聘用合同
- 2024年簡易住宅裝修協(xié)議樣本3篇
- 音樂產(chǎn)業(yè)房產(chǎn)買賣合同范本格式
- 電力供應(yīng)站混凝土路面施工合同
- 保安公司醫(yī)生招聘合同
- 雜技課程設(shè)計
- 2024年外用人員及臨時工特種作業(yè)聘用合同3篇
- 農(nóng)業(yè)開發(fā)有限公司章程范本
- 化工企業(yè)隱患排查與治理
- 自然辯證法智慧樹知到課后章節(jié)答案2023年下浙江大學(xué)
- 方劑學(xué)完整課件
- 2022-2023第一學(xué)期杭州市蕭山區(qū)六年級上冊科學(xué)期末教學(xué)質(zhì)量監(jiān)測(含答案)
- 汽車電路分析與檢測題庫帶答案解析復(fù)習(xí)題練習(xí)題
- 馬屬動物常見寄生蟲病演示文稿
- 《經(jīng)絡(luò)腧穴學(xué)總論》
- 七年級上冊古詩文言文練習(xí)
- 2023年預(yù)制箱梁施工總結(jié)(5篇)
- 2023屆高三英語二輪復(fù)習(xí)讀后續(xù)寫情感描寫素材(比賽收獲脫困脫險)
評論
0/150
提交評論