版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、多態(tài)性和虛函數(shù)第05章主要內(nèi)容5.2 虛函數(shù)5.4 運(yùn)算符重載5.3 純虛函數(shù)和抽象類5.1 重載與覆蓋什么是多態(tài)性?在C+中通過重載、覆蓋、運(yùn)算符重載、虛函數(shù)等技術(shù),使得基類和派生類中可以出現(xiàn)同名的成員函數(shù)。不同的成員函數(shù)被調(diào)用時(shí)表現(xiàn)出不同的行為,表現(xiàn)出很強(qiáng)的靈活性,稱為多態(tài)性。成員函數(shù)重載成員函數(shù)覆蓋虛函數(shù)運(yùn)算符重載靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性靜態(tài)多態(tài)性:編譯時(shí)的多態(tài)性,成員函數(shù)重載、覆蓋、運(yùn)算符重載都屬于靜態(tài)多態(tài)性。編譯器根據(jù)實(shí)參數(shù)據(jù)類型或?qū)ο蟮臄?shù)據(jù)類型,在編譯時(shí)就確定調(diào)用哪個(gè)函數(shù)。動(dòng)態(tài)多態(tài)性:運(yùn)行時(shí)多態(tài)性,通過虛函數(shù)來實(shí)現(xiàn)。通過虛函數(shù)實(shí)現(xiàn)的動(dòng)態(tài)多態(tài)性,在代碼執(zhí)行的過程中決定調(diào)用哪個(gè)函數(shù)。1、
2、成員函數(shù)重載和覆蓋重載:同一個(gè)類中,存在名稱相同但“簽名不同”的成員函數(shù)(函數(shù)參數(shù)類型或個(gè)數(shù)不同),編譯時(shí)根據(jù)實(shí)參類型確定調(diào)用的是哪個(gè)版本的函數(shù)。覆蓋:派生類和基類存在名稱相同的成員函數(shù),實(shí)現(xiàn)派生類方法覆蓋(改造)基類方法的功能。如果要訪問基類被覆蓋方法,需要使用類名前綴。2、成員函數(shù)重載class Interint num;public:Inter(int a) num=a; void SetNum(int a) num=a; void SetNum(double a) num=int(a+0.5); void show() coutnumendl; ;成員函數(shù)重載void main()In
3、ter i(3);i.show();i.SetNum(5);i.show();i.SetNum(6.6);i.show();運(yùn)行結(jié)果357編譯時(shí)確定調(diào)用哪個(gè)版本函數(shù)3、覆蓋技術(shù)在派生類中定義與基類同名的成員函數(shù)后,會(huì)出現(xiàn)覆蓋現(xiàn)象;實(shí)現(xiàn)重新定義基類成員函數(shù)。const double PI=3.14159;class Point double x,y;public: Point(double i,double j) x=i; y=j; double area() return 0;;覆蓋技術(shù)class Circle: public Point double radius; public: Circ
4、le(double a,double b,double r) : Point(a, b) radius=r; double area() return PI*radius*radius; ;覆蓋技術(shù)void main() Point a(1.5,6.7); Circle c(1.5,6.7,2.5); cout“area of a:”a.area()endl; cout“area of c:”c.area()endl; Point *p=&c; cout“area of c:”area()area(),調(diào)用的是Point的成員函數(shù),輸出0。4、訪問被覆蓋的方法class CPointint x
5、,y;public:CPoint() x=0; y=0; CPoint(int a,int b) x=a; y=b; void Set(int a, int b)x=a; y=b;void Show() coutx“,”yendl; ;訪問被覆蓋的方法class Circle : public CPointint radius;public:Circle(int a,int b,int r):CPoint(a,b) radius=r; void Set(int a,int b,int r) CPoint:Set(a,b); radius=r; void Show() coutradius“,”
6、; CPoint:Show();訪問被覆蓋的方法void main()Circle c(3,4,5);c.Show();c.Set(5,6,7);c.Show();c.CPoint:Set(7,8);c.CPoint:Show();間接調(diào)用基類成員函數(shù)限定調(diào)用基類成員,不好!運(yùn)行結(jié)果5,3,47,5,67,8主要內(nèi)容5.2 虛函數(shù)5.4 運(yùn)算符重載5.3 純虛函數(shù)和抽象類5.1 重載與覆蓋1、為什么要運(yùn)行時(shí)多態(tài)?class Mammalint age;double weight;public:Mammal(int a,double w) age=a; weight=w; void Shout(
7、) cout“Im a mammal.n”;為什么要運(yùn)行時(shí)多態(tài)?class Dog : public Mammalpublic:Dog(int a,double w):Mammal(a,w) void Shout() cout“woo.n”;class Cat : public Mammalpublic:Cat(int a,double w):Mammal(a,w) void Shout() coutShout(); void main()Mammal m(3,5);Dog dog(4,6);Cat cat(4,7);Shout(&m);Shout(&dog);Shout(&cat);用戶的期
8、望調(diào)用基類Shout調(diào)用Dog類Shout調(diào)用Cat類Shout?輸出結(jié)果Im a mammal.Im a mammal.Im a mammal.編譯器無能為力!void Shout(Mammal *p) p-Shout(); void main()Mammal m(3,5);Dog dog(4,6);Cat cat(4,7);Shout(&m);Shout(&dog);Shout(&cat);實(shí)際調(diào)用情況調(diào)用基類Shout調(diào)用基類Shout調(diào)用基類Shout編譯時(shí)就已經(jīng)確定的事實(shí)勉強(qiáng)的方法void main() Mammal m(3,5);Dog dog(4,6);Cat cat(4,7);
9、m.Shout();dog.Shout();cat.Shout();假設(shè)有100個(gè)不同類型的動(dòng)物,代碼要寫100遍?!2、解決之道:虛函數(shù)class Mammalint age;double weight;public:Mammal(int a,double w) age=a; weight=w; virtual void Shout() coutShout(); void main()Mammal m(3,5);Dog dog(4,6);Cat cat(4,7);Shout(&m);Shout(&dog);Shout(&cat);實(shí)際調(diào)用情況調(diào)用基類Shout調(diào)用Dog類Shout調(diào)用Cat
10、類Shout輸出結(jié)果Im a mammal.woo.meow.一個(gè)接口,多種方法void Shout(Mammal *p) p-Shout(); void main()Mammal *p;if() p=new Dog(3,4);else p=new Cat(5,6);Shout(p);delete p;傳過去什么對(duì)象,調(diào)用對(duì)應(yīng)的Shout靜態(tài)聯(lián)編無法實(shí)現(xiàn)3、虛函數(shù)的說明虛函數(shù)實(shí)現(xiàn)動(dòng)態(tài)性關(guān)鍵在于使用基類指針,當(dāng)用基類指針指向不同對(duì)象時(shí),到底調(diào)用哪個(gè)版本成員函數(shù),取決于所指向?qū)ο蟮念愋?。如果指向Dog類對(duì)象,則調(diào)用Dog類的Shout;如果指向Cat類對(duì)象,則調(diào)用Cat類的Shout;如果指向Ma
11、mmal類對(duì)象,則調(diào)用基類的Shout。用虛函數(shù)實(shí)現(xiàn)的多態(tài)性是代碼執(zhí)行過程中的多態(tài),大大增加了程序的靈活性。使用基類引用也可以實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性。說明在基類中定義虛函數(shù)后,往往在派生類中重新定義(確保返回類型和參數(shù)個(gè)數(shù)及類型完全匹配),才能形成動(dòng)態(tài)多態(tài)性。在基類中定義的虛函數(shù),在派生類中重定義后仍然為虛函數(shù),即使不寫virtual關(guān)鍵字。虛函數(shù)必須是類的公有或保護(hù)成員函數(shù);友元函數(shù)和普通函數(shù)不能聲明為虛函數(shù);構(gòu)造函數(shù)和靜態(tài)成員函數(shù)不能被聲明為虛函數(shù);析構(gòu)函數(shù)可以被聲明為虛函數(shù)。另一個(gè)示例圖形類基類:CShape派生類:CRect、CCircle、CTriangle應(yīng)用的思路繪圖程序中,設(shè)計(jì)一個(gè)鏈表
12、,保存用戶繪制的各種圖形對(duì)象;刷新屏幕時(shí),通過遍歷鏈表,繪制所有對(duì)象?;惖幕竟δ躢lass CShapepublic:void Display();派生類:CRectclass CRect : public CShapeprivate:CPoint p1,p2;public:void Display();派生類:CCircleclass CCircle : public CShapeprivate:CPoint center;int radius;public:void Display();派生類:CTriangleclass CTriangle : public CShapeprivat
13、e:CPoint p1,p2,p3;public:void Display();鏈表的遍歷void ReDraw(CShape *pHead)while(!pHead)pHead-Display();pHead=pHead-next;問題:實(shí)際調(diào)用的都是基類的Display沒有按預(yù)計(jì)的情況執(zhí)行。解決之道:虛函數(shù)class CShapepublic:virtual void Display();4、尋根求源:靜態(tài)多態(tài)性Mammal *p1,*p2;Dog dog(3,5);Cat cat(5,7);p1=&dog;p2=&cat;p1-Shout();p2-Shout();dog.Shout()
14、;cat.Shout();p1p2dog35yearWeightcat57yearWeightMammal:ShoutDog:ShoutCat:Shout5、尋根求源:虛函數(shù)class Apublic:int a;A(int x) a=x; virtual void Show() coutaendl;virtual void inc() a+; void sub() a-; /非虛函數(shù);虛函數(shù)原理class B : public Apublic: int b; B(int x,int y) : A(x) b=y; void Show() coutbendl; void inc() b+; vo
15、id sub() b-; ;虛函數(shù)原理class C : public Apublic: int c; C(int x,int y) :A(x) c=y; void Show() coutcShow();p-inc();p-sub();aa3avptrbb4avptr5bcc6avptr7cA:ShowB:ShowC:ShowA:incB:incC:incA:subB:subC:sub(*pShow)(*pinc)(*pShow)(*pinc)(*pShow)(*pinc)虛函數(shù)原理:派生類對(duì)象void main()B bb(4,5);A *p=&bb;p-Show();p-inc();p-s
16、ub();aa3avptrbb4avptr5bcc6avptr7cA:ShowB:ShowC:ShowA:incB:incC:incA:subB:subC:sub(*pShow)(*pinc)(*pShow)(*pinc)(*pShow)(*pinc)虛函數(shù)原理:派生類對(duì)象void main()C cc(6,7);A *p=&cc;p-Show();p-inc();p-sub();aa3avptrbb4avptr5bcc6avptr7cA:ShowB:ShowC:ShowA:incB:incC:incA:subB:subC:sub(*pShow)(*pinc)(*pShow)(*pinc)(*
17、pShow)(*pinc)6、虛析構(gòu)函數(shù)C+中規(guī)定,某個(gè)類中含有虛函數(shù),則應(yīng)該將其析構(gòu)函數(shù)設(shè)置為虛函數(shù)。否則容易出現(xiàn)內(nèi)存泄漏等問題。class Shapedouble x,y;public:virtual Shape() virtual double area() return 0; ;派生類const double PI=3.1415926;class Circle : public Shapedouble radius;public:Circle(double x,double y,double z): Shape(x,y) radius=z; double area() return P
18、I*radius*radius; Circle() ;虛析構(gòu)函數(shù):原因如果不采用虛析構(gòu)函數(shù)Shape *p=new Circle (3,5,2);delete p;Shape:Circle:由于靜態(tài)聯(lián)編,Circle類析構(gòu)函數(shù)被跳過去虛析構(gòu)函數(shù):原因如果使用虛析構(gòu)函數(shù)Shape *p=new Circle (3,5,2);delete p;Shape:Circle:動(dòng)態(tài)聯(lián)編,調(diào)用Circle類析構(gòu)函數(shù)再調(diào)用基類析構(gòu)函數(shù)主要內(nèi)容5.2 虛函數(shù)5.4 運(yùn)算符重載5.3 純虛函數(shù)和抽象類5.1 重載與覆蓋1、定義純虛函數(shù)純虛函數(shù)是一種特殊的虛函數(shù),在基類中聲明為虛函數(shù),但不提供實(shí)現(xiàn)部分,而要求各派生
19、類提供該虛函數(shù)的不同版本實(shí)現(xiàn)。class Shapedouble x,y; / 基點(diǎn)坐標(biāo)public:Shape(double a,double b) x=a; y=b; virtual double area() =0;純虛函數(shù)只有定義沒有實(shí)現(xiàn)!2、派生類const double PI=3.1415926;class Circle : public Shapedouble radius;public:Circle(double x,double y,double z): Shape(x,y) radius=z; double area() return PI*radius*radius; ;
20、派生類class Rectangle : public Shapedouble length,width;public:Rectangle(double x,double y,double z,double w) : Shape(x,y) length=z; width=w; double area() return width*length; ;派生類double CalArea(Shape &sh)return sh.area();void main()Circle c(3,4,5);cout“Circle area:”CalArea(c)endl;Rectangle r(3,4,5,6)
21、;cout“Rectangle area:”CalArea(r)area();void main()Circle c(3,4,5);coutCalArea(&c)endl;Rectangle r(3,4,5,6);coutCalArea(&r)endl;/Shape sh(3,4); X主要內(nèi)容5.2 虛函數(shù)5.4 運(yùn)算符重載5.3 純虛函數(shù)和抽象類5.1 重載與覆蓋class Complexdouble real,imag;public:Complex() real=0; imag=0; Complex(double r,double i);Complex(const Complex& c)
22、;void print();void copy(const Complex& c);1、引入簡單的復(fù)數(shù)類Complex:Complex(double r,double i) real=r; imag=i; Complex:Complex(const Complex& c) real=c.real; imag=c.imag;void Complex:copy(const Complex& c) real=c.real; imag=c.imag; void Complex:print() if(imag0) coutrealimagiendl; else outreal+imagiendl;復(fù)數(shù)類
23、的實(shí)現(xiàn)void main()Complex a(3,4),b(4,5);a.print();a.copy(b);a.print();復(fù)數(shù)類的應(yīng)用輸出結(jié)果3+4i4+5i僅有的成員函數(shù)還遠(yuǎn)遠(yuǎn)不夠,加法、減法?class Complexdouble real,imag;public:Complex() real=0; imag=0; Complex(double r,double i);Complex(const Complex& c);void print();void copy(const Complex& c);Complex Add(const Complex& c);2、實(shí)現(xiàn)復(fù)數(shù)相加Co
24、mplex Complex:Add(const Complex &c)double x,y;x=real+c.real;y=imag+c.imag;Complex tmp(x,y);return temp;實(shí)現(xiàn)復(fù)數(shù)相加創(chuàng)建并返回臨時(shí)對(duì)象void main()Complex a(3,4),b(4,5),c(0,0);a.print();a.copy(b);a.print();c=a.Add(b);c.print();復(fù)數(shù)類的應(yīng)用輸出結(jié)果3+4i4+5i7+9i不直觀,為什么不是a+b?從簡單數(shù)據(jù)類型開始思考運(yùn)算符的實(shí)質(zhì)?表達(dá)式 9/2=4,而9.0/2.0=4.5 。這里的同一個(gè)運(yùn)算符“/ ”,
25、由于所操作的數(shù)據(jù)不同而具有不同的意義,為什么?如何實(shí)現(xiàn)的?C +是由函數(shù)組成的,在C+內(nèi)部,任何運(yùn)算都是通過函數(shù)來實(shí)現(xiàn)的。在處理表達(dá)式 8+7時(shí),C +將這個(gè)表達(dá)式解釋成如下的函數(shù)調(diào)用表達(dá)式: operator + ( 8, 7 );相同的運(yùn)算符對(duì)不同數(shù)據(jù)有不同的操作,實(shí)質(zhì)上是函數(shù)的重載!3、引入運(yùn)算符重載的概念C+已經(jīng)為各種基本數(shù)據(jù)類型定義了可能的運(yùn)算符函數(shù),如operator+ (int,int)operator- (int,int)operator/(int,int);operator/(double, double);如果想讓類的對(duì)象也能使用這些運(yùn)算符,就需要重載對(duì)應(yīng)的運(yùn)算符??梢允褂?/p>
26、友元函數(shù)和成員函數(shù)兩種方法實(shí)現(xiàn)運(yùn)算符重載。引入運(yùn)算符重載的概念class Complexdouble real,imag;public:Complex() real=0; imag=0; Complex(double r,double i);Complex(const Complex& c);void print();Complex operator+(const Complex &c);4、成員函數(shù)重載+相當(dāng)于函數(shù)名Complex Complex:operator + (const Complex& c)return Complex(real+c.real,imag+c.imag);void
27、 main()Complex a(3,4),b(5,6),c;c=a+b;c.print();成員函數(shù)重載+更自然、更簡潔c = a.operator+ (b);輸出結(jié)果8+10iComplex& Complex:operator + (const Complex& c)return Complex(real+c.real,imag+c.imag);void main()Complex a(3,4),b(5,6),c;c=a+b;c.print();5、成員函數(shù)重載+:小問題構(gòu)造臨時(shí)對(duì)象,返回后釋放?避免使用引用class Complexdouble real,imag;public:Comp
28、lex() real=0; imag=0; Complex(double r,double i);Complex(const Complex& c);void print();Complex operator+(const Complex &c);friend Complex operator- (Complex,Complex);6、友元函數(shù)重載-相當(dāng)于函數(shù)名Complex operator - (Complex a,Complex b)return Complex(a.real+b.real,a.imag+b.imag);void main()Complex a(3,4),b(5,6),c
29、;c=a-b;c.print();友元函數(shù)重載-輸出結(jié)果-2-2iclass Complexdouble real,imag;public:Complex() real=0; imag=0; Complex(double r,double i);Complex(const Complex& c);void print();Complex operator+(const Complex &c);friend Complex operator- (Complex,Complex);void operator=(const Complex &c);7、重載賦值運(yùn)算符:成員函數(shù)void Complex
30、:operator = (const Complex& c)real=c.real;imag=c.imag;void main()Complex a(3,4),b,c;c=a;c.print();重載賦值運(yùn)算符:成員函數(shù)輸出結(jié)果3+4ivoid Complex:operator = (const Complex& c)real=c.real;imag=c.imag;void main()Complex a(3,4),b,c;c=b=a;c.print();重載賦值運(yùn)算符:問題出現(xiàn)語法錯(cuò)誤=運(yùn)算符右結(jié)合先執(zhí)行b=a返回值為void無法賦給aXclass ComplexComplex operat
31、or=(const Complex &c);Complex Complex:operator = (const Complex& c)real=c.real;imag=c.imag;return Complex(real,imag);重載賦值運(yùn)算符:問題的解決效率太低class ComplexComplex& operator=(const Complex &c);Complex& Complex:operator =(Complex& c)real=c.real;imag=c.imag;return *this;重載賦值運(yùn)算符:問題的解決c=b=a;先執(zhí)行b=a,b被賦值后,返回b的引用,在
32、賦值給c,最后的返回值丟棄class Complexdouble real,imag;public:Complex() real=0; imag=0; Complex(double r); /類型轉(zhuǎn)換構(gòu)造函數(shù)Complex(double r,double i);Complex(const Complex& c);void print();Complex operator+(const Complex &c);friend Complex operator- (Complex,Complex);void operator=(const Complex &c);8、復(fù)數(shù)與實(shí)數(shù)運(yùn)算:類型轉(zhuǎn)換Comp
33、lex:Complex(double r) real=r; imag=0; void main()Complex a(3,4),b,c;b=a+2;b.print();/c=2+a;復(fù)數(shù)與實(shí)數(shù)運(yùn)算:類型轉(zhuǎn)換 先將2轉(zhuǎn)換為 Complex對(duì)象;將轉(zhuǎn)換后的對(duì)象 與a相加 結(jié)果賦給bXa不能轉(zhuǎn)換為整數(shù)class Complexdouble real,imag;public:Complex() real=0; imag=0; Complex(double r); /類型轉(zhuǎn)換構(gòu)造函數(shù)Complex(double r,double i);Complex(const Complex& c);void pri
34、nt();friend Complex operator- (Complex,Complex);void operator=(const Complex &c);friend Complex operator+ (Complex &c1,Complex &c2);9、復(fù)數(shù)與實(shí)數(shù)運(yùn)算:使用友元Complex:Complex(double r) real=r; imag=0; Complex operator+(Complex &c1, Complex &c2)return Complex(c1.real+c2.real, c1.imag+c2.imag);復(fù)數(shù)與實(shí)數(shù)運(yùn)算:最好使用友元void m
35、ain()Complex a(3,4),b,c;b=a+2;b.print();c=2+a;c.print();復(fù)數(shù)與實(shí)數(shù)運(yùn)算輸出結(jié)果5+4i5+4iclass Stringchar *str;public:String() str=NULL; String( char *p) str=new charstrlen(p)+1; strcpy(str,p); void show() coutstrendl; ;10、字符串類:淺拷貝void main()String str1(“Hello”);String str2(“World”);str1=str2;字符串類:淺拷貝Hello0str1st
36、rWorld0str2str 編程迷失的不可 訪問的內(nèi)存!class Stringchar *str;public:String() delete str; String() str=NULL; String( char *p);String(String& s);String( char c);friend String operator+(String &s1, String& s2);String& operator=(String& s);int GetLength() return strlen(str)+1; void show() coutstrendl; ;字符串類:深拷貝St
37、ring:String(char *p)str=new charstrlen(p)+1;strcpy(str,p);String:String(String& s)str=new chars.GetLength()+1;strcpy(str,s.str);字符串類:深拷貝String:String(char c)str=new char2;str0=c;str1=0;String operator+(String &s1, String& s2)String temp;temp.str=new chars1.GetLength()+s2.GetLength()+1;strcpy(temp.st
38、r,s1);strcat(temp.str,s2);return temp;字符串類:深拷貝String& String:operator=(String& s)if( this = &s )return *this;delete str;str=new chars.GetLength()+1;strcpy(str,s.str);return *this;字符串類:深拷貝void main()String s1(“Hello”);String s2(“World”);String s3;s3=s1;s3.show();s3=s1+s2;s3.show();字符串類:深拷貝輸出結(jié)果HelloHelloWorld
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高爐煉鐵工操作水平知識(shí)考核試卷含答案
- 保健艾灸師安全知識(shí)考核試卷含答案
- 招聘師風(fēng)險(xiǎn)評(píng)估與管理水平考核試卷含答案
- 益蟲飼養(yǎng)工成果競賽考核試卷含答案
- 辦公設(shè)備維修工保密考核試卷含答案
- 刨花板熱壓工崗前安全專項(xiàng)考核試卷含答案
- 2024年海南醫(yī)學(xué)院輔導(dǎo)員考試筆試題庫附答案
- 2024年滇池學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 煤制烯烴生產(chǎn)工安全檢查強(qiáng)化考核試卷含答案
- 勞動(dòng)定員定額師安全知識(shí)宣貫評(píng)優(yōu)考核試卷含答案
- 青鳥消防JB-QB-JBF5012火災(zāi)報(bào)警控制器使用說明書V1.3
- 第一學(xué)期政治組教研工作總結(jié)
- 1春《寒假新啟航五年級(jí)》參考答案
- 豬肉配送投標(biāo)方案(完整技術(shù)標(biāo))
- GM公司過程控制計(jì)劃審核表
- GB/T 6185.2-20162型全金屬六角鎖緊螺母細(xì)牙
- GB/T 26218.1-2010污穢條件下使用的高壓絕緣子的選擇和尺寸確定第1部分:定義、信息和一般原則
- GB/T 18934-2003中國古典建筑色彩
- GB/T 15114-1994鋁合金壓鑄件
- 心理健康試卷分析及分析報(bào)告
- GB 19195-2003普及(娛樂)類卡丁車通用技術(shù)條件
評(píng)論
0/150
提交評(píng)論