第02章-C++語言基礎(二)函數(shù)_第1頁
第02章-C++語言基礎(二)函數(shù)_第2頁
第02章-C++語言基礎(二)函數(shù)_第3頁
第02章-C++語言基礎(二)函數(shù)_第4頁
第02章-C++語言基礎(二)函數(shù)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、概述C++語言對C語言函數(shù)功能擴充和增強的幾點具體體現(xiàn)更加嚴格的函數(shù)原型說明使用引用作函數(shù)參數(shù)函數(shù)缺省參數(shù)增加了函數(shù)重載機制(Overloading)增加了內(nèi)聯(lián)函數(shù)(InlineFunction)函數(shù)功能擴充和增強在C中,每個函數(shù)都有返回型。如果一個函數(shù)返回型缺省,那么,該函數(shù)的返回類型為整型。在C++中某些函數(shù)是不能有返回類型的,所以,C++語言中,只有在沒有返回類型的函數(shù)前面,才沒有類型。2、函數(shù)功能擴充和增強C語言對函數(shù)說明采用了簡化說明的方式。例如,有字符型和雙精度類型兩個參數(shù)、返回整型值的函數(shù)f,其原型為:

intf(char,double);在C語言中聲明該函數(shù)時,允許將這個原型簡化寫成"f();"。在函數(shù)聲明中,參數(shù)名可有可無,并且可以和函數(shù)定義中的參數(shù)名不一致。這種簡化是許多C語言程序錯誤的根源。(1)更加嚴格的函數(shù)原型說明2、函數(shù)功能擴充和增強C++語言摒棄了C語言函數(shù)原型簡化說明的方式。要求編程者為函數(shù)聲明提供完整的原型說明,包括全部參數(shù)的類型和返回值得說明。對于上面的例子,C++函數(shù)聲明如下:intf(char,double);優(yōu)點:減少錯誤,提高編譯效率。(1)更加嚴格的函數(shù)原型說明2、函數(shù)功能擴充和增強復數(shù)的加法是常用的操作,我們將這個功能編寫成一個函數(shù),命名為Add。該函數(shù)的定義如下:structCOMPLEX{doublerpart,ipart;};COMPLEXAdd(COMPLEXx,COMPLEXy){ COMPLEXz; z.rpart=x.rpart+y.rpart; z.ipart=x.ipart+y.ipart; returnz;}有了函數(shù)的定義,需要時就可以通過下面這樣來調(diào)用來實現(xiàn)復數(shù)的加法:c=Add(a,b);(2)使用引用作函數(shù)參數(shù)調(diào)用時,復數(shù)a的具體值將傳遞給x(即a復制到x),復數(shù)b的具體值將傳遞給y(即b復制到y(tǒng)),進入函數(shù)后,x和y里裝的的內(nèi)容分別與a和b的值相同,計算完成以后,計算結果在z中,函數(shù)通過return語句把它復制到一個臨時的區(qū)域中,函數(shù)執(zhí)行完畢,三個局部變量x,y和z全部銷毀。這個臨時區(qū)域中的數(shù)據(jù)(即函數(shù)值)賦給變量c。值得注意的是:x,y,z雖然都是局部變量,但他們的區(qū)別在于:z是一般的局部變量,而x和y是特殊的局部變量——函數(shù)的形式參數(shù)。所以進入函數(shù)時,z的初值是不確定的(通常稱為亂碼),而x和y的卻已經(jīng)自動裝入了用戶調(diào)用時給出的實際值,它們分別是a和b的值。2、函數(shù)功能擴充和增強復數(shù)的加、減、乘、除,以及設置、輸入、輸出都是常用的操作,編寫六個函數(shù)來完成這些功能。這樣,用戶使用復數(shù)時,可直接調(diào)用有關的函數(shù)即可,非常方便。例如復數(shù)的輸出函數(shù):voidOutput(COMPLEXx){cout<<"("<<x.rpart<<","<<x.ipart<<")\n";}類似地,可以寫出復數(shù)的輸入函數(shù):voidInput(COMPLEXx){cin>>x.rpart>>x.ipart;}這個函數(shù)雖然能以通過編譯,但它卻不能達到預期的目的,是錯誤的。(2)使用引用作函數(shù)參數(shù)2、函數(shù)功能擴充和增強例如當用戶調(diào)用它時寫下:Input(a);它會怎樣工作呢?它首先把a的內(nèi)容復制給x,然后從鍵盤輸入的數(shù)據(jù)裝入x的實部和虛部,等函數(shù)執(zhí)行完畢,x被銷毀,而a仍然是原來的內(nèi)容,沒有任何變化。在C語言里要解決這個問題,只能使用指針,通過間接操作修改變量的值來完成該功能。(2)使用引用作函數(shù)參數(shù)2、函數(shù)功能擴充和增強下面是用指針編寫的函數(shù):voidInput(COMPLEX*p){cin>>p->rpart>>p->ipart;}

這程序就正確,但調(diào)用時得寫成下面的樣子:Input(&a);即將變量a的地址傳遞給指針p,進入函數(shù)后,把輸入的數(shù)據(jù)裝進指針p所指示的變量的實部和虛部,等函數(shù)執(zhí)行完畢,指針p銷毀,但結果已經(jīng)存入了變量a中。雖然這程序是正確的,但使用時要使用取地址的運算符“&”。(2)使用引用作函數(shù)參數(shù)2、函數(shù)功能擴充和增強C++對C進行了改進,提供了一種被稱為“引用”的隱式指針,但在邏輯上可以將其理解為代名詞。下面是用引用編寫的函數(shù):voidInput(COMPLEX&x){cin>>x.rpart>>x.ipart;}

調(diào)用時不必寫取地址的運算符,而是簡單地寫為:Input(a);這里傳遞的不是a的值,而是a的引用(實質(zhì)就是地址),因此x是對a的引用,函數(shù)中所有的x都代表a,對x的操作其實都是對a進行的。所以,輸入的數(shù)據(jù)裝入了變量a的實部和虛部。函數(shù)執(zhí)行完畢,引用變量x銷毀,但結果已經(jīng)存入變量a。(2)使用引用作函數(shù)參數(shù)2、函數(shù)功能擴充和增強在函數(shù)的形式參數(shù)中使用引用,可以對實在參數(shù)進行修改,利用這種方法可以把信息反饋給調(diào)用者:Input(a);//調(diào)用Input函數(shù)時,形參x是對a的引用,對x的操作都是對a進行的,從鍵盤輸入的信息被裝入aInput(b);//調(diào)用Input函數(shù)時,形參y是對b的引用,對y的操作都是對b進行的,從鍵盤輸入的信息被裝入b通過兩次調(diào)用輸入函數(shù),分別對a和b進行操作,從鍵盤上輸入的兩個復數(shù)分別被裝入了a和b。引用除可以傳回信息外,它的另一個作用是提高程序的效率。以上面的輸出函數(shù)為例:voidOutput(COMPLEXx){cout<<"("<<x.rpart<<","<<x.ipart<<")\n";}(2)使用引用作函數(shù)參數(shù)2、函數(shù)功能擴充和增強如果寫下Output(c),調(diào)用時先把c的內(nèi)容(一共16字節(jié))復制到x中,然后輸出x的內(nèi)容。函數(shù)執(zhí)行完畢,銷毀局部變量x。換句話說,我們不是輸出變量c的內(nèi)容,而是輸出c的復制品x的內(nèi)容。如果我們直接輸出變量c的內(nèi)容,那么速度可以加快,方法就是使用引用:voidOutput(COMPLEX&x){cout<<"("<<x.rpart<<","<<x.ipart<<")\n";}如果寫下Output(c),調(diào)用時傳遞的不是c的值,而是c的引用(2或4字節(jié)的地址),x是對c的引用,輸出的是c的內(nèi)容。這樣做,效率當然提高了。(2)使用引用作函數(shù)參數(shù)2、函數(shù)功能擴充和增強然而這樣做,效率雖然提高了,但危險性也增大了。如果程序員不小心,在Output函數(shù)錯誤地對x進行了修改,那將是對c進行的修改。為了保證c的內(nèi)容不被修改,可將x定義為常量的引用:voidOutput(constCOMPLEX&x){cout<<"("<<x.rpart<<","<<x.ipart<<")\n";}

這樣,當你在輸出函數(shù)Output中寫下修改x值的代碼時,編譯器會認為你在試圖修改一個常量,報告編譯錯誤。(2)使用引用作函數(shù)參數(shù)C++使用引用作函數(shù)參數(shù)既提高了程序效率,又確保了程序的安全性,同時還方便易用。2、函數(shù)功能擴充和增強C++中允許函數(shù)有缺省參數(shù)。所謂缺省,是指函數(shù)調(diào)用時可以不給出實際的參數(shù)值。下面是一個有缺省參數(shù)的函數(shù)定義的實例:例1-5:intf(inta,intb=1){returna*b;}此后,函數(shù)調(diào)用f(3,1)和f(3)將返回同樣的結果。(3)函數(shù)缺省參數(shù)2、函數(shù)功能擴充和增強1.一旦為函數(shù)的某個參數(shù)指定了缺省值,則必須為后續(xù)參數(shù)也定義缺省值,從右到左定義缺省參數(shù)。

voidshowmessage(char*text,intlength=1,intcolor);//錯!color也應定義缺省值。2.調(diào)用函數(shù)時,如果略去一個參數(shù)傳遞,則略去后續(xù)所有參數(shù)傳遞,調(diào)用時將參數(shù)從左至右,逐一傳遞給行參。showmessage("hello");showmessage("hello",5);showmessage("hello",5,8);showmessage(“hello”,,8);//錯!(3)函數(shù)缺省參數(shù)要求2、函數(shù)功能擴充和增強#include<iostream.h>intmax(int);voidmain(){cout<<max(100)<<endl;}intmax(intx,inty=200){if(x>y){returnx;}else{returny;}}(3)函數(shù)缺省參數(shù)該程序有錯,要如何改?誤區(qū)2、函數(shù)功能擴充和增強方法一:把函數(shù)體移到main()的前面

(3)函數(shù)缺省參數(shù)

如果函數(shù)已經(jīng)帶有缺省參數(shù)的函數(shù)原型聲明,則在該函數(shù)的定義中不允許出現(xiàn)缺省值。intmax(intx,inty=200);{ ...}voidmain(){ ...}方法二:缺省參數(shù)是放在聲明里的,不放在定義里intmax(intx,inty=200);voidmain(){ ...}intmax(intx,inty){ ...}2、函數(shù)功能擴充和增強思考題:改成這樣行不行?

intmax(intx,inty=200); voidmain() { ... } intmax(intx,inty=200) { ... }(3)函數(shù)缺省參數(shù)C++不行!編譯錯誤:“C2572:重定義默認參數(shù)”2、函數(shù)功能擴充和增強重載是程序語言領域的重要概念。常規(guī)語言中最典型的例子是"+、-、×、/"等各種算術運算符的重載,這些符號可以同時用來表示多種類型數(shù)據(jù)之間的運算,這種對一個名字或一個符號賦予多重意義的情況就叫重載。C++語言增加了C語言所沒有的函數(shù)重載機制。(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強函數(shù)重載(overloading)是指一個函數(shù)可以和同一作用域中的其他函數(shù)具有相同的名字,即同一個函數(shù)名可以對應著多個不同的函數(shù)實現(xiàn)。C++中允許兩個或多個函數(shù)共用同一個函數(shù)名,但這些函數(shù)各自擁有可用于區(qū)分和唯一識別它們的參數(shù)表。它們之間有的是通過參數(shù)表中某個參數(shù)的類型不同來區(qū)別,有的是通過參數(shù)個數(shù)的不同加以區(qū)別。這樣做的優(yōu)點一是便于今后對函數(shù)功能的擴充,二是使程序更加簡潔明了,方便自然。(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強用C語言編程時,有時候會發(fā)現(xiàn)有幾個不同名的函數(shù),實現(xiàn)的是同一類操作。例如要求從3個數(shù)中找出其中最大者,而這三個數(shù)的類型事先不確定,可以是整數(shù)、實數(shù)或長整數(shù)。程序設計者必須分別設計出3個函數(shù),其原型為:intmax1(inta,intb,intc);//求三個整數(shù)中的最大者floatmax2(floata,floatb,floatc);//求三個實數(shù)中的最大者

longmax3(longa,longb,longc);//求三個長整數(shù)中的最大者

C語言規(guī)定在同意作用域(如同一文件模塊中)中不能有同名的函數(shù),因此3個函數(shù)的名字不相同。(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強C++允許在同一作用域中用同一函數(shù)名定義多個函數(shù),這些函數(shù)的參數(shù)個數(shù)和參數(shù)類型不同。這就是函數(shù)的重載,即一個函數(shù)名多用。參數(shù)類型上不同的重載函數(shù)對于上面的問題可以編寫如下的C++程序。(已經(jīng)在VC6上調(diào)試通過)#include<iostream.h>intmax(inta,intb,intc){if(b>a)a=b;if(c>a)a=c;returna;}(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強floatmax(floata,floatb,floatc){if(b>a)a=b;if(c>a)a=c;returna;}longmax(longa,longb,longc){if(b>a)a=b;if(c>a)a=c;returna;}(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強voidmain(){inta,b,c;floatd,e,f;longg,h,i;cin>>a>>b>>c;cin>>d>>e>>f;cin>>g>>h>>i;intm;m=max(a,b,c);cout<<"max_i="<<m<<endl;floatn;n=max(d,e,f);cout<<"max_f="<<n<<endl;longintp;p=max(g,h,i);cout<<"max_l="<<p<<endl;}(4)增加了函數(shù)重載機制main函數(shù)三次調(diào)用max函數(shù),每次實參的類型不同。系統(tǒng)會根據(jù)實參的類型找到與之匹配的函數(shù),然后調(diào)用該函數(shù)。

2、函數(shù)功能擴充和增強參數(shù)個數(shù)上不同的重載函數(shù)例如:intmax(inta,intb,intc)intmax(inta,intb)兩次調(diào)用max函數(shù)的參數(shù)個數(shù)不同,系統(tǒng)會根據(jù)參數(shù)的個數(shù)找到與之匹配的函數(shù)并調(diào)用它。(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強函數(shù)重載要求編譯器能夠唯一地確定調(diào)用一個函數(shù)時應執(zhí)行哪個函數(shù)代碼,即采用哪個函數(shù)實現(xiàn)。確定函數(shù)實現(xiàn)時,要求從函數(shù)參數(shù)的個數(shù)和類型上來區(qū)分。也就是說,進行函數(shù)重載時,要求同名函數(shù)在參數(shù)個數(shù)上不同,或者參數(shù)類型上不同。否則,將無法實現(xiàn)重載。注意:不要同時使用重載函數(shù)和缺省參數(shù)的函數(shù),因為當調(diào)用函數(shù)時少寫一個參數(shù),系統(tǒng)無法判定是利用重載函數(shù)還是利用缺省參數(shù)的函數(shù),會發(fā)生錯誤。(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強使用函數(shù)重載主要是為了處理一組完成相同或相似功能的任務,但處理的數(shù)據(jù)個數(shù)或類型不同,這樣,編程時可以不必費力的給它們起名和記憶。如果兩個函數(shù)參數(shù)個數(shù)和類型完全相同,僅僅是返回值不同,它們不是重載的函數(shù)。程序中出現(xiàn)這樣兩個函數(shù),編譯時將出錯。函數(shù)重載可以使某些具有相似功能的函數(shù)聚集起來共同使用一個通常具有特定語義的函數(shù)名,但是當聚集起來的函數(shù)并不執(zhí)行相似的操作時,就不應采用函數(shù)重載。(4)增加了函數(shù)重載機制2、函數(shù)功能擴充和增強引入內(nèi)聯(lián)函數(shù)的目的是為了解決程序中函數(shù)調(diào)用的效率問題。程序執(zhí)行過程中,每調(diào)用一次函數(shù),就要在調(diào)用與返回過程中付出一定的時間與空間代價用于處理現(xiàn)場。當函數(shù)較小又反復使用時,處理現(xiàn)場的開銷比重會急劇增大。若把函數(shù)體嵌入函數(shù)調(diào)用處,便可以大大提高運行速度,節(jié)省開銷。內(nèi)聯(lián)函數(shù)就可以自動實現(xiàn)這一功能。(5)增加了內(nèi)聯(lián)函數(shù)2、函數(shù)功能擴充和增強使用C++中新的關鍵字inline說明的函數(shù)稱為內(nèi)聯(lián)函數(shù)。編譯器在遇到對內(nèi)聯(lián)函數(shù)調(diào)用時,將盡可能的用內(nèi)聯(lián)函數(shù)的函數(shù)體替換函數(shù)調(diào)用的表達式。因此會增加目標程序代碼量,它是以目標代碼的增加為代價來換取時間的節(jié)省。使用內(nèi)聯(lián)函數(shù)可以加快程序執(zhí)行的速度。(5)增加了內(nèi)聯(lián)函數(shù)2、函數(shù)功能擴充和增強例:編程求1~10中各個數(shù)的平方。#include<iostream.h>inlineintpower_int(intx){return(x)*(x);}voidmain(){inti;for(i=1;i<=10;i++){intp=power_int(i);cout<<i<<"*"<<i<<"="<<p<<endl;}}(5)增加了內(nèi)聯(lián)函數(shù)2、函數(shù)功能擴充和增強在使用內(nèi)聯(lián)函數(shù)時,應注意如下幾點:在內(nèi)聯(lián)函數(shù)內(nèi)不允許用循環(huán)語句和開關語句。內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前。后面講到的類結構中所有在類說明內(nèi)部定義的函數(shù)都是內(nèi)聯(lián)函數(shù)。(5)增加了內(nèi)聯(lián)函數(shù)注意2.4內(nèi)聯(lián)函數(shù)C程序員用預處理的宏調(diào)來完成簡單函數(shù)的調(diào)用。比如:#definecircle(r)2.0*3.14*r但宏很受制。例#defineabs(v)((v)<0?–(v):(v))當調(diào)用為abs(++a)時,將不能正常工作!因為在程序中每次遇到宏替換名時,就用所定義的字符串去替換它,那么替換的結果將是:((++a)<0?–(++a):(++a))得到的是a+2的絕對值,這產(chǎn)生不期望的結果。在函數(shù)原型前冠以“inline”表示一個內(nèi)聯(lián)函數(shù)。例如:inlinevoidfunction(inta,intb);編譯時,在調(diào)用function的地方用函數(shù)體替換,能夠加快代碼執(zhí)行,減少調(diào)用開銷。使用C++語言,可以上宏定義改寫為內(nèi)聯(lián)函數(shù):inlinelongabs(longnum){ return(num<0?-num:num);}注意:內(nèi)聯(lián)函數(shù)內(nèi)不允許有循環(huán)語句和開關語句。如果內(nèi)聯(lián)函數(shù)內(nèi)有這些語句,按普通函數(shù)處理。聯(lián)函數(shù)的函數(shù)體一般不宜過長,以1-5行為宜。2.6函數(shù)原形函數(shù)原型的三個特殊的任務:確定函數(shù)返回值,使編譯程序能產(chǎn)生的函數(shù)返回數(shù)據(jù)類型的正確代碼。確定了函數(shù)使用的參數(shù)的類型,個數(shù)和順序。函數(shù)名代表該函數(shù)的函數(shù)體以及函數(shù)完成的功能。函數(shù)的定義格式為函數(shù)原型{函數(shù)體

}函數(shù)原型一般的語法形式為:返回類型函數(shù)名(參量表)如果一個函數(shù)先使用,而后定義的話,則需要對該函數(shù)進行聲明。函數(shù)聲明的格式為函數(shù)原型;如:intfunc(inta,intb);voiddraw(floatx,floaty);函數(shù)聲明中的參數(shù)名字可以省略。上述聲明可以寫為

intfunc(int,int);C++語言需要所有函數(shù)都有原型,沒有原型,則無法編譯C++程序。函數(shù)原型使得C++語言能夠提供更強的類型檢查,它允許編譯程序?qū)ο铝星闆r給出錯誤信息:(1)被調(diào)用函數(shù)的參數(shù)類型定義和類型轉(zhuǎn)換非法。(2)函數(shù)的參數(shù)個數(shù)不相符。(3)函數(shù)不能返回預定的數(shù)據(jù)類型。由于所有C++函數(shù)都有函數(shù)原型,使得C++語言容易表達重載一個函數(shù)名的概念,亦即它能區(qū)分多個函數(shù),它們具有相同的名字但有不同的參數(shù)。C++語言允許進行函數(shù)重載:多個函數(shù)具有相同的函數(shù)名,但有不同的參數(shù)表和各自的函數(shù)體。只要編譯能區(qū)分參數(shù)表,就可以重載一個函數(shù)名。例如:doubleabs(doublenum){return((num<0)?-num:num);}longabs(longnum){return((num<0)?–num:num);}這樣,就有了函數(shù)的重載,兩個函數(shù),它們具有相同的函數(shù)名abs,但有不同的參數(shù)類型(long和double)。還可以再定義:floatabs(floatnum){return((num<0)?–num:num);}

只要編譯能區(qū)分參數(shù)變元的類型,就可以重載一個函數(shù)名。2.7缺省參數(shù)C語言中定義函數(shù)實形參使不允許被賦值的。如:intfun(intx,inty,intz);C++語言有缺省參數(shù)的概念,它是另外一種形式的重載。

voidfun(intnum=0){…}num稱為缺省參數(shù),0稱為缺省值。調(diào)用函數(shù)fun時,num對應的實參可以有,也可以沒有??梢哉{(diào)用兩種方式調(diào)用函數(shù)fun:fun(10);//傳遞顯示的值,則num的初始值為10fun();//無對應的實參,則num的初始值為0一個函數(shù)含有的參數(shù)常常比它最常用的方法所需的參數(shù)還多。例如:voidxyout(char*str,intx=-1,inty=-1){if(x==-1)x=wherex();if(y==-1)y=wherey();gotoxy(x,y);cout<<str;}

其中,wherex()和wherey()函數(shù)分別返回當前光標的x和y坐標。gotoxy()函數(shù)將光標移到所說明的x,y的位置。需說明的是,所有取缺省值的參數(shù)都必須出現(xiàn)在不取缺省值的參數(shù)的右邊。亦即,一旦開始定義取缺省值的參數(shù),就不可以再說明非缺省的參數(shù)。例如:對于函數(shù)voidfun(intx=10,inty);

則函數(shù)調(diào)用fun(a,b);//正確fun(a);//錯誤,因為a位置上對應x,而y不是缺省參數(shù),必須有對應的實參又如voidf(inti,intj=10,intk);是錯誤的,在取缺省參數(shù)intj=10后,不應再說明非缺省參數(shù)intk。改為

voidf(inti,intk,intj=10);就正確了。一個函數(shù)可以有多個缺省參數(shù),需要注意各個參數(shù)的對應關系。

例2-8缺省參數(shù)的例子輸出結果:123102310203102030

voidfun(inta=1,intb=2,intc=3){cout<<a<<‘’<<b<<‘’<<c<<‘\n’;}voidmain(){fun();fun(10);fun(10,20);//缺省C對應的參數(shù),沒有辦法只缺省a或b對應的參數(shù)

fun(10,20,30);}

在使用具有缺省參數(shù)的函數(shù)時,若該函數(shù)名還被重載,要謹防二義性。例如:voidfunc(intx=1){…}voidfunc(){…}則函數(shù)調(diào)用func();就不知是調(diào)用那個函數(shù)了。2.14函數(shù)體內(nèi)定義變量的位置C++語言中,為避免錯用變量,通常將變量的使用限制在最小的作用域中,因此,可以在函數(shù)體內(nèi)任何位置定義變量。一般,將局部變量推遲到使用時才定義(同時給出初始值),甚至在條件中定義定義一個定義一個變量。如:

if(doubled=prim(number)){….}else{…….}練習

輸出為:a=5,b=3,c=1解釋為什么?#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論