




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第九章從C到C++9.1C++對C的一般擴(kuò)充9.2C++中的函數(shù)9.3C++的輸入與輸出流9.4小結(jié)9.1C++對C的擴(kuò)充
C++在C語言標(biāo)識符的基礎(chǔ)上,增加了許多標(biāo)識符,下面列出常用的標(biāo)識符。
asmcatchclassdelete
friendinlinenewoperator
privateprotectedpublictemplatevirtual特別注意,在將原來用C語言寫的程序用C++編譯之前,應(yīng)把與上述關(guān)鍵字同名的標(biāo)識符改名。9.1.1新增的關(guān)鍵字9.1.2注釋在C語言中,我們用“/*”及“*/”作為注釋分界符號,C++除了保留這種注釋方式外,還提供了一種更有效的注釋方式,即用“//”導(dǎo)引出單行注釋。例如:
intx;/*定義一個整型變量*/
intx;//定義一個整型變量這兩條語句是等價的。C++的“//…”注釋方式特別適合于注釋內(nèi)容不超過一行的注釋,這使語句顯得很簡潔。9.1.3類型轉(zhuǎn)換C++支持兩種不同的類型轉(zhuǎn)換形式:
inti=0;
longl=(long)I;//C的類型轉(zhuǎn)換
longm=long(i);//C++的新風(fēng)格C++新風(fēng)格的類型轉(zhuǎn)換形式看上去象是一個函數(shù)調(diào)用,所以可讀性較好。而且,這種形式也適合于用戶定義類型的轉(zhuǎn)換(用定義函數(shù)來實(shí)現(xiàn))。9.1.4靈活的變量聲明在C語言中,局部變量說明必須置于可執(zhí)行代碼段之前,不允許局部變量說明和可執(zhí)行代碼混合起來。但在C++中,允許在代碼塊的任何地方說明局部變量,也就是說,變量可以放在任何語句位置,不必非放在程序段的開始處。例如:voidf(){
inti;
i=1;
intj;
j=2;
//…}
這樣,可以隨用隨定義,這也是C++封裝的要求,易讀性也好。而且在遠(yuǎn)離數(shù)據(jù)項被使用處的地方聲明,易引起混淆或?qū)е洛e誤。9.1.5const1.const定義常量在C中,習(xí)慣使用#define來定義常量,例如:
#defineSIZE100;C++提供了一種更靈活、更安全的方式來定義變量,即使用類型限定符const來表示常量。所以,C++中的常量可以是有類型的,程序員不必再用#define創(chuàng)建無類型常量。例如:
constintsize=100;聲明成const的變量,實(shí)際是常量,它有地址,可以用指針指向這個值,但在程序中是不可修改的。使用#define有時是不安全的,如下例所示?!纠?.1】使用#define引起的歧義。#include<iostream.h>voidmain(){ inta=1;#defineT1a+a #defineT2T1-T1 cout<<"T2is"<<T2<<endl;}初看程序,似乎應(yīng)輸出:T2is0但是實(shí)際的輸出結(jié)果是:T2is2【例9.2】使用const消除#define的不安全性。#include<iostream.h>voidmain(){ inta=1;constT1=a+a; constT2=T1-T1; cout<<"T2is"<<T2<<endl;}程序執(zhí)行結(jié)果如下:T2is02.const修飾指針 const還可以修飾指針的情況,例如:
intb=500; constint*a=&b;
① intconst*a=&
b;
② int*consta=&b;
③ constint*consta=&b;
④const修飾指針的情況可以有以上幾種形式,①和②的情況相同,都是指針?biāo)赶虻膬?nèi)容為常量,這種情況下不允許對指針指向的內(nèi)容進(jìn)行更改操作,如不能:*a=3;但是,由于a是一個指向常量的普通指針變量,不是常指針,因此可以改變a的值,例如下列語句是允許的:
intc=3; a=&c;上述③為指針本身是常量,即常指針,而指針?biāo)赶虻膬?nèi)容不是常量,這種情況下不能對指針本身進(jìn)行更改操作,例如:
a++;
//非法但是它指向的數(shù)據(jù)可以改變,例如:
*a=3;//合法 是可以的。上述④為指針本身和指向的內(nèi)容均為常量,均不能修改。不難理解以下兩個語句都是錯誤的:
a++;
//非法
*a=3;//非法3.const在函數(shù)中的應(yīng)用const還常用來限定函數(shù)的參數(shù)和返回值。函數(shù)參數(shù)如果使用const聲明,說明在函數(shù)中不能修改該參數(shù)。例如:
floatfun(constfloatx) {returnx*x;}//非法:x=x*x;如果函數(shù)返回基本類型(如int和double),用const聲明返回值沒有特別的意義,但如果函數(shù)返回一個指針或引用(引用的概念在后面提及),則使用const聲明返回值表示調(diào)用函數(shù)時不能用返回值來改變返回值所指向或引用的變量。例如:
constint*fun() { staticintx=1; ++x; return&x; } voidmain() { inty; y=*fun();//合法:將值x賦值給y *fun()=2;//非法:不能改變一個常量的類型 }9.1.6struct
C++的struct后的標(biāo)識符可看作是類型名,所以定義某個變量比C中更加直觀。例如,在C中:
structpoint{intx;inty};structpointp;而在C++中:
structpoint{intx;inty};pointp;我們不必再寫struct。對于union,也可以照此使用。9.1.7作用域分辨運(yùn)算符“::”“::”是作用域分辨運(yùn)算符,它用于訪問在當(dāng)前作用域中被隱藏的數(shù)據(jù)項。如果有兩個同名變量,一個是全局的,另一個是局部的,那么局部變量在其作用域內(nèi)具有較高的優(yōu)先權(quán)?!纠?.3】局部變量在其作用域內(nèi)具有較高的優(yōu)先權(quán)。
#include<iostream.h>inta=10;//全局變量aintmain(){ inta;a=25;//局部變量a cout<<"ais"<<a<<endl;return0;}程序執(zhí)行結(jié)果如下:ais25【例9.4】使用域作用運(yùn)算符#include<iostream.h>inta;//全局變量aintmain(){ inta;a=25;//局部變量a ::a=10;//全局變量a cout<<"localis"<<a<<endl; cout<<"globalis"<<::a<<endl;return0;}程序執(zhí)行結(jié)果如下:localis25globalis109.1.8C++的動態(tài)內(nèi)存分配C程序中,動態(tài)內(nèi)存分配是通過調(diào)用malloc()和free()等庫函數(shù)來實(shí)現(xiàn)的,而C++給出了使用new
和delete運(yùn)算符進(jìn)行動態(tài)內(nèi)存分配的新方法。例9.5用malloc()實(shí)現(xiàn)內(nèi)存分配。#include<stdio.h>#include<malloc.h>voidmain(){ int*p; p=(int*)malloc(sizeof(int)); *p=10; printf("%d",*p); free(p);}運(yùn)算符new用于內(nèi)存分配的使用形式為:
p=newtype;其中,type是一個數(shù)據(jù)類型名,p是指向該數(shù)據(jù)類型的指針。new從內(nèi)存中為程序分配一塊sizeof(type)字節(jié)大小的內(nèi)存,該塊內(nèi)存的首地址存于指針p中。運(yùn)算符delete用于釋放new分配的存儲空間,它的使用形式為:
deletep;其中,p必須是一個指針,保存著new分配的內(nèi)存的首地址。以下是C++程序中用新方法實(shí)現(xiàn)動態(tài)內(nèi)存分配的例子?!纠?.6】用new實(shí)現(xiàn)動態(tài)內(nèi)存分配。#include<iostream.h>voidmain(){ int*i=newint;//為指針i分配存儲空間 *i=10; cout<<*i; deletei;//釋放i指向的存儲空間}說明:(1)使用new可以為數(shù)組動態(tài)分配存儲空間,這時需要在類型名后綴上數(shù)組的大小。例如:int*p=newint[10];這時new為具有10個元素的整型數(shù)組分配了內(nèi)存空間,并將首地址賦給了指針p。
需要注意的是,使用new給多維數(shù)組分配空間時,必須提供所有維的大小,如:
int*p=newint[2][3][4];其中第一維的界值可以是任何合法的表達(dá)式。
inti=3;int*p=newint[i][3][4];(2)new可以在為簡單變量分配內(nèi)存的同時,進(jìn)行初始化。例如:int*p=newint(99);new分配了一個整型內(nèi)存空間,并賦初始值99。但是,new不能對動態(tài)分配的數(shù)組存儲區(qū)進(jìn)行初始化。(3)釋放動態(tài)分配的數(shù)組存儲區(qū)時,可用如下的delete格式:
delete[]p;(4)使用new動態(tài)分配內(nèi)存時,如果分配失敗,既沒有足夠的內(nèi)存空間滿足分配要求,new將返回空指針(NULL)。因此通常要對內(nèi)存的動態(tài)分配是否成功進(jìn)行檢查。intmain(){
int*p=newint;//為指針p分配存儲空間
if(!p){cout<<"分配失敗"<<endl;return1;}*p=10;cout<<*p;deletep;//釋放p指向的存儲空間
return0;}9.1.9引用
在前面的章節(jié)中,我們學(xué)習(xí)了指針的概念,指針就是內(nèi)存單元的地址,它可能是變量的地址,也可能是函數(shù)的入口地址。這里看另外一個同指針相關(guān)的概念:引用。在引入引用的概念之前,我們先看一個例子。【例9.7】值傳遞應(yīng)用#include<iostream.h>voidswap(intm,intn){ inttemp; temp=m; m=n; n=temp;}intmain(){ inta=5,b=10; cout<<"a="<<a;cout<<"b="<<b<<endl; swap(a,b); cout<<"a="<<a;
cout<<"b="<<b<<endl;
return0;}程序執(zhí)行結(jié)果如下:a=5b=10a=5b=10【例9.】8使用指針(地址)進(jìn)行值傳遞#include<iostream.h>voidswap(int*m,int*n){ inttemp; temp=*m; *m=*n; *n=temp;}intmain(){ inta=5,b=10;cout<<"a="<<a;cout<<"b="<<b<<endl; swap(&a,&b); cout<<"a="<<a;cout<<"b="<<b<<endl;return0;}程序執(zhí)行結(jié)果如下:a=5b=10a=10b=5引用是能自動間接引用的一種指針。自動間接引用就是不必使用間接引用運(yùn)算符*,就可以得到一個引用值。我們可以這樣理解,引用就是某一變量(目標(biāo))的一個別名,對引用的操作與對變量直接操作完全一樣。那么,在程序設(shè)計的時候,引用如何定義并使用呢?1.引用的定義定義引用的關(guān)鍵字是“type&”,它的含義是“type類型的引用”,此引用與type類型的對象或變量的地址相聯(lián)系。例如:
inti=5;int&j=i;它創(chuàng)建了一個整型引用,j是i的別名,i和j占用內(nèi)存同一位置。當(dāng)i變化時,j也隨之變化,反之亦然。引用的初始值可以是一個變量或另一個引用,以下的定義也正確。
inti=5;int&j=i;int&j1=j;2.使用規(guī)則(1)定義引用時,必須立即初始化。 inti; int&j;//錯誤,沒有初始化 j=i;(2)引用不可重新賦值。 inti,k; int&j=i; j=&k;//錯誤,重新賦值(3)引用不同于普通變量,下面的聲明是非法的:
int&b[3];//不能建立引用數(shù)組 int&*P;//不能建立指向引用的指針 int&&r;//不能建立指向引用的引用(4)當(dāng)使用&運(yùn)算符取一個引用的地址時,其值為所引用的變量的地址。
intnum=50;int&ref=num;int*p=&ref;則p中保存的是變量num的地址?!纠?.9】引用傳遞#include<iostream.h>voidswap(int&m,int&n){ inttemp; temp=m; m=n; n=temp;}main(){inta=5,b=10;cout<<"a="<<a;cout<<"b="<<b<<endl;swap(a,b);cout<<"a="<<a;cout<<"b="<<b<<endl;return0;}程序執(zhí)行結(jié)果如下:a=5b=10a=10b=59.2C++中的函數(shù)C對main()函數(shù)的格式并無特殊規(guī)定,因?yàn)橥ǔ不關(guān)心返回何種狀態(tài)給操作系統(tǒng)。然而,C++卻要求main()函數(shù)匹配下面兩種原型之一。
voidmain() //無參數(shù),無返回類型
intmain(intargc,char*argv[])
//帶參數(shù),有返回類型,參數(shù)也可以省略。9.2.1主函數(shù)main
第二種main()函數(shù)中形參argc是命令行總的參數(shù)個數(shù),argv[]是大小為argc,其中第0個參數(shù)存儲的是程序的全名,其后存儲的是程序名后所帶的參數(shù)。
例如,包含第二種main()函數(shù)的程序test.exe,在命令行方式下執(zhí)行時輸入:
C:\>test
a.c
b.c
t.c
則
argc
=4,argv[0]="test",argv[1]
="a.c"
,argv[2]="b.c"
,argv[3]="t.c"。
如果main()前面不寫返回類型,那么main()等價于
intmain()
函數(shù)要求具有int返回類型,如例9.9。9.2.2函數(shù)定義C++函數(shù)定義中的參數(shù)說明必須放在函數(shù)名后的括號內(nèi),不可將函數(shù)參數(shù)說明放在函數(shù)說明部分與函數(shù)體之間,如:voidfun(a)inta;//錯誤的參數(shù)說明方式{}但在C中,這種說明方法是允許的。9.2.3內(nèi)置函數(shù)函數(shù)調(diào)用導(dǎo)致了一定數(shù)量的額外開銷,如參數(shù)入棧、出棧等。有時,正是這種額外開銷迫使C程序員在整個程序中復(fù)制代碼以提高效率。C++的內(nèi)置函數(shù)正是為了解決這一問題而提供的。當(dāng)函數(shù)定義是由inline開頭時,表明此函數(shù)為內(nèi)置函數(shù)。編譯時,使用函數(shù)體中的代碼替代函數(shù)調(diào)用表達(dá)式,從而完成與函數(shù)調(diào)用相同的功能,這樣,能加快代碼的執(zhí)行,減少調(diào)用開銷。例如:inlineintsum(inta,intb)//內(nèi)置函數(shù){returna+b;}說明:①內(nèi)置函數(shù)必須在它被調(diào)用之前定義,否則編譯不會得到預(yù)想的結(jié)果。②若內(nèi)置函數(shù)較長,且調(diào)用太頻繁時,程序?qū)⒓娱L很多,通常只有較短的函數(shù)才定義為內(nèi)置函數(shù),較長的函數(shù)最好作為一般函數(shù)處理。9.3.4缺省參數(shù)值
C++對C函數(shù)的一大重要的改進(jìn)之一就是可以為函數(shù)定義缺省的參數(shù)值。例如:
intfun(intx=5,inty=10);
//函數(shù)原型,給出缺省的參數(shù)值x與y的值分別是5和10。當(dāng)進(jìn)行函數(shù)調(diào)用時,編譯器按從左向右順序?qū)?shí)參與形參結(jié)合,若未指定足夠的實(shí)參,則編譯器按順序用函數(shù)原型中的缺省值來補(bǔ)足所缺少的實(shí)參。例如:
fun(1,2);//x=1,y=2fun(1);//x=1,y=10fun();//x=5,y=10一個C++函數(shù)可以有多個缺省參數(shù),并且C++要求缺省參數(shù)必須連續(xù)的放在函數(shù)參數(shù)表的尾部,也就是說,所有取缺省值的參數(shù)都必須出現(xiàn)在不取缺省值的參數(shù)的右邊。當(dāng)調(diào)用具有多個缺省參數(shù)時,若某個參數(shù)省略,則其后的參數(shù)皆應(yīng)省略而采用缺省值。當(dāng)不允許出現(xiàn)某個參數(shù)省略時,再對其后的參數(shù)指定參數(shù)值。例如:
fun(,5)//這種調(diào)用方式是錯誤的9.2.5函數(shù)重載在C語言中,函數(shù)名必須是唯一的,也就是說不允許出現(xiàn)同名的函數(shù)。當(dāng)要求編寫求整數(shù)、浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)的立方數(shù)的函數(shù)時,若用C語言來處理,必須編寫三個函數(shù),這三個函數(shù)的函數(shù)名不允許同名。例如:Icube(inti);//求整數(shù)的三次方Fcube(floatf);//求浮點(diǎn)數(shù)的三次方Dcube(doublei);//求雙精度浮點(diǎn)數(shù)的三次方在C++中,用戶可以重載函數(shù),這意味著,只要函數(shù)參數(shù)的類型不同,或者參數(shù)的個數(shù)不同,兩個或兩個以上的函數(shù)可以使用相同的函數(shù)名。【例9.10】重載cube函數(shù)。#include<iostream.h>intcube(inti){returni*i*i;}floatcube(floatf){returnf*f*f;}doublecube(doubled){returnd*d*d;}intmain(){ inti=12; floatf=3.4; doubled=5.678; cout<<i<<'*'<<i<<'*'<<i<<'='<<cube(i)<<endl; cout<<f<<'*'<<f<<'*'<<f<<'='<<cube(f)<<endl; cout<<d<<'*'<<d<<'*'<<d<<'='<<cube(d)<<endl; return0;}值得注意,重載函數(shù)應(yīng)在參數(shù)個數(shù)或參數(shù)類型上有所不同,否則編譯程序?qū)o法確定調(diào)用哪一個重載版本,即使返回類型不同,也不能區(qū)分。例如:intfun(intx,inty);doublefun(intx,inty);其重載函數(shù)的參數(shù)個數(shù)類型相同,是錯誤的。另外,同函數(shù)名同參數(shù)表的const和非const成員函數(shù)也可構(gòu)成重載。例如:
intmyclass::fun(inta,intb);intmyclass::fun(inta,intb)const;9.3C++的輸入與輸出流大家都知道C語言提供了強(qiáng)有力的I/O函數(shù),其功能強(qiáng),靈活性好,是很多語言無法比擬的。但是,在C語言中進(jìn)行I/O操作時,常會出現(xiàn)以下錯誤:
inti; floatf; scanf("%f",i); /*i是int型,"%f"應(yīng)該是"%d",i應(yīng)該是&i*/ printf("%d",f); /*f是float型,"%d"應(yīng)該是"%f"*/cin使用C++的I/O系統(tǒng),可以將上面的操作寫成: inti; floatf; cin>>i; cout<<f;這里的cin是標(biāo)準(zhǔn)的輸入流,在程序中用于代表標(biāo)準(zhǔn)輸入設(shè)備,即鍵盤。運(yùn)算符“>>”是輸入運(yùn)算符,表示從標(biāo)準(zhǔn)輸入流(即鍵盤)讀取的數(shù)值傳送給右方指定的變量。運(yùn)算符“>>”允許用戶連續(xù)讀入一連串?dāng)?shù)據(jù),兩個數(shù)據(jù)間用空格、回車或Tab鍵分隔。例如:
cin>>x>>y;coutcout是標(biāo)準(zhǔn)的輸出流,在程序中用于代表標(biāo)準(zhǔn)輸出設(shè)備,通常指屏幕。運(yùn)算符“<<”是輸出運(yùn)算符,表示將右方變量的值顯示到屏幕上。運(yùn)算符“<<”允許用戶連續(xù)輸出數(shù)據(jù)。例如:cout<<x<<y;這里的變量應(yīng)該是基本數(shù)據(jù)類型,不能是void型。為了支持類的概念,C++系統(tǒng)建立了一個可擴(kuò)展的輸入輸出系統(tǒng),它可以通過修改和擴(kuò)展來加入用戶自定義類型并進(jìn)行相應(yīng)操作。例如,在C語言中有下面結(jié)構(gòu)類型變量的定義: structpoint { intx,y; }a;這里,無法延伸C語言的I/O系統(tǒng),使之直接在變量a上執(zhí)行I/O操作,如下面的用法是錯誤的:
printf("%point",a);9.3.1C++的流類結(jié)構(gòu)雖然,C++語言和C語言的I/O系統(tǒng)有著顯著的差異,但它們也有著共同之處,即都是對流(tream)進(jìn)行操作。流實(shí)際上就是一個字節(jié)序列。輸入操作中,字節(jié)從輸入設(shè)備(如鍵盤、磁盤、網(wǎng)絡(luò)連接等)流向內(nèi)存;輸出操作中,字節(jié)從內(nèi)存流向輸出設(shè)備。使用C++的I/O的系統(tǒng)必須包含頭文件iostream.h,對某些流函數(shù)可能還需要其他頭文件,例如進(jìn)行文件I/O時需要頭文件fstream.h。1.iostream庫iostream庫中具有streambuf和ios兩個平行的類,這都是基本的類,分別完成不同的工作。streambuf類提供基本流操作,但不提供格式支持。ios類為格式化I/O提供基本操作。2.標(biāo)準(zhǔn)流iostream.h說明了標(biāo)準(zhǔn)流對象cin、cout、cerr與clog。cin是標(biāo)準(zhǔn)輸入流,對應(yīng)于C語言的stdin;cout是標(biāo)準(zhǔn)輸出流,對應(yīng)于C語言的stdout;cerr是標(biāo)準(zhǔn)出錯信息輸出,clog是帶緩沖的標(biāo)準(zhǔn)出錯信息輸出。cerr和clog流被連到標(biāo)準(zhǔn)輸出設(shè)備上,對應(yīng)于C語言的stderr。cerr和clog之間的區(qū)別是cerr沒有緩沖,發(fā)送給它的任何輸出立即被執(zhí)行,而clog只有當(dāng)緩沖區(qū)滿時才有輸出。缺省時,C++語言標(biāo)準(zhǔn)流被連到控制臺上。9.3.2格式化I/O1.狀態(tài)標(biāo)志字enum{skipws=0x0001,left=0x0002, right=0x0004,internal=0x0008, dec=0x0010,oct=0x0020, hex=0x0040,showbase=0x0080, showpoint=0x0100, uppercase=0x0200,showpos=0x0400, scientific=0x0800, fixed=0x1000,unitbuf=0x2000, stdio=0x4000, }2.ios類中用于控制輸入輸出格式的成員函數(shù)
(1)設(shè)置狀態(tài)標(biāo)志setf(longflags)。(2)清除狀態(tài)標(biāo)志unsetf()。(3)取狀態(tài)標(biāo)志flags()。(4)設(shè)置域?qū)抴idth()。(5)設(shè)置顯示的精度precision(intnum);(6)填充字符fill()。【例9.11】設(shè)置狀態(tài)標(biāo)志。#include<iostream.h>voidmain(){ cout.setf(ios::showpos|ios::scientific); cout<<123<<""<<123.456<<endl; }【例9.12】使用ios類中用于控制輸入輸出格式的成員函數(shù)#include<iostream.h>voidmain(){ cout<<"x_width="<<cout.width()<<endl; cout<<"x_fill="<<cout.fill()<<endl; cout<<"x_precision="<<cout.precision()<<endl; cout<<123<<""<<123.45678<<endl; cout<<"-------------------------"<<endl;
cout<<"****x_width=10,x_fill=&,x_precision=4****"<<endl; cout.fill('&'); cout.width(10);cout.setf(ios::scientific); cout.precision(4); cout<<123<<""<<123.45678<<endl; cout.setf(ios::left); cout.width(10); cout<<123<<""<<123.45678<<endl; cout<<"x_width="<<cout.width()<<endl; cout<<"x_fill="<<cout.fill()<<endl; cout<<"x_precision="<<cout.precision()<<endl;}3.用操作子進(jìn)行格式化C++流類庫所定義操作子如下:dec,hex,oct:數(shù)值數(shù)據(jù)采用十進(jìn)制、十六進(jìn)制、八進(jìn)制表示,可用于輸入或輸出。ws:提取空白符,僅用于輸入。endl:插入一個換行符并刷新輸出流,僅用于輸出。ends:插入空字符,僅用于輸出。flush:刷新與流相關(guān)聯(lián)的緩沖區(qū),僅用于輸出。setbase(intn):設(shè)置數(shù)值轉(zhuǎn)換基數(shù)為n(n的取值為0、8、10、16),0表示使用缺省基數(shù),
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CNFAGS 15-2024綠色合成氨分級標(biāo)準(zhǔn)(試行)
- T/CCS 038-2023無人快速定量智能裝車系統(tǒng)技術(shù)規(guī)范
- 正規(guī)勞動合同書電子版6篇
- 租房合同家私家電補(bǔ)充協(xié)議7篇
- 上海核酸檢測試題及答案
- 中投集合資金信托合同3篇
- 【7語期末】渦陽縣2023-2024學(xué)年七年級下學(xué)期期末考試語文試題
- 房屋交易資金代收代付協(xié)議與房屋使用權(quán)轉(zhuǎn)讓合同3篇
- 大道十字段建設(shè)項目勞務(wù)作業(yè)合同5篇
- 民族建筑裝飾設(shè)計與應(yīng)用
- 2024信息安全風(fēng)險評估報告模板
- 智慧農(nóng)業(yè)中的智能灌溉技術(shù)
- 工程檔案整理和數(shù)字化課件
- 餐飲業(yè)中的員工團(tuán)隊協(xié)作培訓(xùn)
- 中考語文課內(nèi)文言文知識點(diǎn)梳理+三年中考真題+模擬題 專題10 《唐雎不辱使命》三年中考+模擬題(原卷版+解析)
- 基于PLC的電梯控制系統(tǒng)設(shè)計
- 四川省2023年小升初語文試卷匯總六(含答案)
- 電梯鋼絲繩安全檢查與更換標(biāo)準(zhǔn)
- 鋼支撐(鋼管)強(qiáng)度及穩(wěn)定性驗(yàn)算
- 口暴服務(wù)流程
- 合伙買大貨車協(xié)議書
評論
0/150
提交評論