版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章 對(duì)象和類,5.1 類及其實(shí)例化 5.2 類和對(duì)象的性質(zhì) 5.3 結(jié)構(gòu)和聯(lián)合 5.4 構(gòu)造函數(shù) 5.5 析構(gòu)函數(shù) 5.6 綜合例題,5.7 重載對(duì)象的賦值運(yùn)算符 5.8 對(duì)象成員的初始化 5.9 類模板與標(biāo)準(zhǔn)模板庫(kù) 5.10 面向?qū)ο缶幊痰奈募?guī)范 實(shí)驗(yàn) 習(xí)題,本章重點(diǎn)介紹在C+中定義類、建立和使用對(duì)象的方法。雖然同類對(duì)象在其數(shù)據(jù)成員的取值方面是不相同的,但可以共用相同的代碼。 類是對(duì)同類對(duì)象的描述,它不但描述了對(duì)象之間的公有接口,同時(shí)也給出了對(duì)象的內(nèi)部實(shí)現(xiàn)(數(shù)據(jù)成員和成員函數(shù))。,像構(gòu)造枚舉和結(jié)構(gòu)一樣,類也是一種用戶自己構(gòu)造的數(shù)據(jù)類型并遵循C+的規(guī)定。 例如,類也要先聲明后使用;不管聲
2、明的內(nèi)容是否相同,聲明同一個(gè)名字的兩個(gè)類是錯(cuò)誤的,類是具有惟一標(biāo)識(shí)符的實(shí)體;在類中聲明的任何成員不能使用extern、auto和register關(guān)鍵字進(jìn)行修飾;類中聲明的變量屬于該類,在某些情況下,變量可以被該類的不同實(shí)例所共享。,5.1 類及其實(shí)例化 5.1.1 定義類,類和其他數(shù)據(jù)類型不同的是,組成這種類型的不僅可以有數(shù)據(jù),而且可以有對(duì)數(shù)據(jù)進(jìn)行操作的函數(shù),它們分別叫做類的數(shù)據(jù)成員和類的成員函數(shù),而且不能在類聲明中對(duì)數(shù)據(jù)成員使用表達(dá)式進(jìn)行初始化。,1. 聲明類 類是對(duì)一組性質(zhì)相同對(duì)象的程序描述。在C+中聲明類的一般形式為 class 類名 private: 私有數(shù)據(jù)和函數(shù) public: 公
3、有數(shù)據(jù)和函數(shù) protected: 保護(hù)數(shù)據(jù)和函數(shù) ;,類聲明以關(guān)鍵字class開(kāi)始,其后跟類名。 類所聲明的內(nèi)容用花括號(hào)括起來(lái),右花括號(hào)后的分號(hào)作為類聲明語(yǔ)句的結(jié)束標(biāo)志。這一對(duì)花括號(hào)“”之間的內(nèi)容稱為類體。 類中定義的數(shù)據(jù)和函數(shù)稱為這個(gè)類的成員(數(shù)據(jù)成員和成員函數(shù))。 類成員均具有一個(gè)屬性,叫做訪問(wèn)權(quán)限,通過(guò)它前面的關(guān)鍵字來(lái)定義。顧名思義,關(guān)鍵字private 、public和protected 以后的成員的訪問(wèn)權(quán)限分別是私有、公有和保護(hù)的,把這些成員分別叫做私有成員、公有成員和保護(hù)成員。 訪問(wèn)權(quán)限用于控制對(duì)象的某個(gè)成員在程序中的可訪問(wèn)性,如果沒(méi)有使用關(guān)鍵字,則所有成員默認(rèn)聲明為privat
4、e權(quán)限。這些關(guān)鍵字的使用順序和次數(shù)也都是任意的。,【例5.1】 描述點(diǎn)的Point類。 class Point /類名Point private: /聲明為私有訪問(wèn)權(quán)限 int x,y;/私有數(shù)據(jù)成員 public: /聲明為公有訪問(wèn)權(quán)限 void Setxy(int a,int b);/無(wú)返回值的公有成員函數(shù) void Move(int a,int b);/無(wú)返回值的公有成員函數(shù) void Display();/無(wú)返回值的公有成員函數(shù) int Getx(); /返回值為int的公有成員函數(shù) int Gety(); /返回值為int的公有成員函數(shù) ; /類聲明以分號(hào)結(jié)束 x和y是私有成員,Se
5、txy、Display、Move、Getx和Gety是公有成員。因?yàn)橹皇锹暶骱瘮?shù),所以可只給出函數(shù)原型?!纠?.2】是其等效的聲明方式。,【例5.2】 使用默認(rèn)關(guān)鍵字及改變關(guān)鍵字順序和次數(shù)的Point類。 class Point /類名Point int x;/默認(rèn)私有數(shù)據(jù)成員 public: /聲明為公有訪問(wèn)權(quán)限 /無(wú)返回值的公有成員函數(shù)Setxy的函數(shù)原型 void Setxy(int,int); /無(wú)返回值的公有成員函數(shù)Move的函數(shù)原型 void Move(int,int); void Display();/無(wú)返回值的公有成員函數(shù)的函數(shù)原型 int Getx(); /返回值為int的公
6、有成員函數(shù)的函數(shù)原型 int Gety(); /返回值為int的公有成員函數(shù)的函數(shù)原型,private: /聲明為私有訪問(wèn)權(quán)限 int y;/私有數(shù)據(jù)成員 ; /類定義以分號(hào)結(jié)束 由此可見(jiàn),成員函數(shù)聲明的規(guī)則與第4章所述的函數(shù)聲明規(guī)則相同。 2. 定義成員函數(shù) 類中說(shuō)明的成員函數(shù)用來(lái)對(duì)數(shù)據(jù)成員進(jìn)行操作。例如,Point類的Setxy函數(shù)用來(lái)為該類的對(duì)象設(shè)置初始值,而當(dāng)調(diào)用成員函數(shù)Getx時(shí),則返回一個(gè)對(duì)象的數(shù)據(jù)成員x的值。 在類中只對(duì)這些成員函數(shù)進(jìn)行了函數(shù)聲明,還必須在程序中實(shí)現(xiàn)這些成員函數(shù)。 定義成員函數(shù)的一般形式為,返回類型 類名成員函數(shù)名(參數(shù)列表) 成員函數(shù)的函數(shù)體/內(nèi)部實(shí)現(xiàn) 其中“”
7、是作用域運(yùn)算符,“類名”是成員函數(shù)所屬類的名字,“”用于表明其后的成員函數(shù)是屬于這個(gè)特定的類。換言之,“類名成員函數(shù)名”的意思就是對(duì)屬于“類名”的成員函數(shù)進(jìn)行定義,而“返回類型”則是這個(gè)成員函數(shù)返回值的類型。余下的工作就是定義成員函數(shù)的函數(shù)體。 例如Setxy是類Point的成員函數(shù),它沒(méi)有返回值,則定義如下: void Point Setxy(int a,int b) x=a; y=b;,將“void PointSetxy(int a,int b)”理解為定義Point的函數(shù)成員Setxy(int a,int b),該成員帶有兩個(gè)整型參數(shù),函數(shù)沒(méi)有返回值(void)。按此方法,可寫出其他幾個(gè)
8、成員函數(shù)的定義: void Point Move(int a,int b) x=x+a; y=y+b; void Point Display() coutx,yendl; int Point Getx() return x; int Point Gety() return y;,也可以使用關(guān)鍵字inline將成員函數(shù)定義為內(nèi)聯(lián)函數(shù),例如: inline int Point Getx() return x; 如果在聲明類的同時(shí),在類體內(nèi)給出成員函數(shù)的定義,則默認(rèn)為內(nèi)聯(lián)函數(shù)。例如在類中將聲明Getx的語(yǔ)句“int Getx();”改為“int Getx()return x;”,則Getx為內(nèi)聯(lián)函數(shù)
9、。 一般直接在類體內(nèi)給出簡(jiǎn)單成員函數(shù)的定義。有些成員函數(shù)的實(shí)現(xiàn)方式不止一種,例如 void Point Display() coutGetx(),Gety()endl;,是調(diào)用成員函數(shù)Getx()和Gety()實(shí)現(xiàn)的,它們使用了cout流,應(yīng)在定義之前包含如下語(yǔ)句: #include using namespace std; 3. 數(shù)據(jù)成員的賦值 不能在類體內(nèi)給數(shù)據(jù)成員賦值,即下面的方法是錯(cuò)誤的: Class Point int x=25,y=56; ;,當(dāng)然,在類體外面就更不允許了。 數(shù)據(jù)成員的具體值是用來(lái)描述對(duì)象的屬性的。只有產(chǎn)生了一個(gè)具體的對(duì)象,這些數(shù)據(jù)值才有意義,所以又稱對(duì)象的初值或?qū)?/p>
10、象初始化。 這跟簡(jiǎn)單數(shù)據(jù)類型的道理一樣,int是整數(shù)類型,但需要聲明整數(shù)對(duì)象之后才有意義,“int x=5;”使得整數(shù)對(duì)象x的值為5,只是類具有成員函數(shù)而已。 假設(shè)已經(jīng)有了一個(gè)對(duì)象A,則可使用“.”運(yùn)算符調(diào)用成員函數(shù)Setxy賦初值。例如: A.Setxy(25,56);,將對(duì)象A的數(shù)據(jù)成員x和y分別賦給25和56,即A.x=25,A.y=56。其實(shí),真正的初始化是使用與Point同名的構(gòu)造函數(shù)Point(int,int)實(shí)現(xiàn)的。 在1.10.1節(jié)介紹使用string的對(duì)象str時(shí),使用“string str(real is);”語(yǔ)句。按此推理,可以寫出產(chǎn)生Point的對(duì)象的語(yǔ)句: Point
11、 A(25,56); 這就是使用構(gòu)造函數(shù)產(chǎn)生類的實(shí)例。不過(guò),現(xiàn)在還沒(méi)有定義構(gòu)造函數(shù)Point(int,int),所以還不能使用這種方法。但可以看到數(shù)據(jù)封裝的跡象了!,Point類是用戶定義的一種類型,Point類所說(shuō)明的數(shù)據(jù)成員描述了對(duì)象的內(nèi)部數(shù)據(jù)結(jié)構(gòu),對(duì)數(shù)據(jù)成員的訪問(wèn)通過(guò)類的成員函數(shù)來(lái)進(jìn)行。 使用Point在程序中聲明變量,具有Point類的類型的變量被稱為Point的對(duì)象。只有產(chǎn)生類的對(duì)象,才能使用這些數(shù)據(jù)和成員函數(shù)。 類Point不僅可以聲明對(duì)象,還可以聲明對(duì)象的引用和對(duì)象的指針,語(yǔ)法與基本數(shù)據(jù)類型一樣。 Point A,B; /定義Point類型的對(duì)象A和B Point *p= for
12、(int i=0; i2; i+) delete ptri; ,必須為每個(gè)數(shù)組元素調(diào)用delete析構(gòu)相應(yīng)的對(duì)象數(shù)組元素所占的空間。輸出結(jié)果如下: Initializing 2,4 Initializing 7,8 Destructor is active Destructor is active 數(shù)據(jù)成員使用指針時(shí),需要為它們申請(qǐng)空間,要注意區(qū)分動(dòng)態(tài)對(duì)象數(shù)組和指針數(shù)組的區(qū)別,以及析構(gòu)時(shí)的異同。注意分析下面的例子。,#include using namespace std; class Test private: char *str; public: Test(char *str=Here!)
13、; Test(); ;,Test:Test(char *s) /定義構(gòu)造函數(shù) str=new charstrlen(s)+1; strcpy(str,s); cout Initializing strendl; Test:Test() cout Delete strendl; ,void main ( ) Test *ptr1=new Test(We are here!); Test *ptr2=new Test2; Test *ptr32=new Test(We), new Test(You) ; delete ptr1; delete ptr2; for(int i=0; i2; i+)
14、delete ptr3i; ,第一個(gè)創(chuàng)建的是一個(gè)Test對(duì)象的指針ptr1,初始化的值為: We are here! 析構(gòu)需要使用一個(gè)單獨(dú)的語(yǔ)句“delete ptr1;”。 第二個(gè)創(chuàng)建的是一個(gè)Test對(duì)象的動(dòng)態(tài)數(shù)組,這個(gè)數(shù)組有兩個(gè)元素,初始化的值在內(nèi)中順序排列為: Here! 0Here!0 指針ptr2指向首地址,需要使用語(yǔ)句 delete ptr2; 來(lái)析構(gòu)這分配給這兩個(gè)對(duì)象的存儲(chǔ)空間。 第三個(gè)創(chuàng)建的是一個(gè)Test對(duì)象的動(dòng)態(tài)數(shù)組,這個(gè)數(shù)組有兩個(gè)元素,初始化的值分別為: 對(duì)象,ptr30內(nèi)容為 We;ptr31內(nèi)容為 You。 所以要使用循環(huán)語(yǔ)句逐個(gè)析構(gòu)。 輸出結(jié)果如下: Initiali
15、zing We are here! Initializing Here! Initializing Here! Initializing We Initializing You Delete We are here! Delete Here! Delete Here! Delete We Delete You,如果在定義類時(shí)沒(méi)有定義析構(gòu)函數(shù),C+編譯器要為這個(gè)類產(chǎn)生一個(gè)默認(rèn)的析構(gòu)函數(shù)。正如沒(méi)有給類定義構(gòu)造函數(shù),C+編譯系統(tǒng)會(huì)產(chǎn)生一個(gè)默認(rèn)構(gòu)造函數(shù)一樣,編譯器也為它產(chǎn)生一個(gè)函數(shù)體為空的默認(rèn)析構(gòu)函數(shù): TestTest(),5.5.3 默認(rèn)析構(gòu)函數(shù),【例5.9】 演示調(diào)用構(gòu)造函數(shù)及 析構(gòu)函數(shù)的綜合例
16、題。 下面這個(gè)程序綜合演示了調(diào)用構(gòu)造函數(shù)、調(diào)用復(fù)制構(gòu)造函數(shù)及調(diào)用析構(gòu)函數(shù)的順序,并演示了調(diào)用復(fù)制構(gòu)造函數(shù)的3種不同情況。 另外,本程序還比較了函數(shù)使用對(duì)象和對(duì)象的引用為參數(shù)的情況。,5.6 綜合例題,#include using namespace std; class Point private: int X,Y; public: Point(int a=0,int b=0) /構(gòu)造函數(shù) X=a; Y=b; coutInitializingendl; Point(const Point 以繞過(guò)類型轉(zhuǎn)換所帶來(lái)的運(yùn)行時(shí)間開(kāi)銷。 程序運(yùn)行結(jié)果如下: We They We We We Go home
17、!,可以在一個(gè)類中說(shuō)明具有某個(gè)類的類型數(shù)據(jù)成員,這些成員稱為對(duì)象成員。 在類X中說(shuō)明對(duì)象成員的一般形式為: class X 類名1成員名1; 類名2成員名2; 類名n成員名n; ;,5.8 對(duì)象成員的初始化,說(shuō)明對(duì)象成員是在類名之后給出對(duì)象成員的名字。為初始化對(duì)象成員,X類的構(gòu)造函數(shù)要調(diào)用這些對(duì)象成員所在類的構(gòu)造函數(shù),X類的構(gòu)造函數(shù)的定義形式如下: X X(參數(shù)表0): 成員1(參數(shù)表1), 成員2(參數(shù)表2),成員n(參數(shù)表n) /其他操作 冒號(hào)“:”后由逗號(hào)隔開(kāi)的項(xiàng)組成成員初始化列表,其中的參數(shù)表給出為調(diào)用相應(yīng)成員所在類的構(gòu)造函數(shù)時(shí)應(yīng)提供的參數(shù)。這些參數(shù)一般來(lái)自“參數(shù)表0”,可以使用任意復(fù)
18、雜的表達(dá)式,其中可以有函數(shù)調(diào)用。如果某項(xiàng)的參數(shù)表為空,則表中相應(yīng)的項(xiàng)可以省略。,對(duì)象成員構(gòu)造函數(shù)的調(diào)用順序取決于這些對(duì)象成員在類中說(shuō)明的順序,與它們?cè)诔蓡T初始化列表中給出的順序無(wú)關(guān)。 當(dāng)建立X類的對(duì)象時(shí),先調(diào)用對(duì)象成員的構(gòu)造函數(shù),初始化對(duì)象成員,然后才執(zhí)行X類的構(gòu)造函數(shù),初始化X類中的其他成員。 析構(gòu)函數(shù)的調(diào)用順序與構(gòu)造函數(shù)正好相反。 下面分析一個(gè)實(shí)際的例子。,【例5.11】 分析下面程序中析構(gòu)函數(shù)與構(gòu)造函數(shù)的調(diào)用順序。 #include using namespace std; class object private: int val; public: object(): val(0) c
19、outDefault constructor for object“endl; object(int i): val(i) coutConstructor for object“valendl; object() coutDestructor for object“valendl; ;,class container private: object one;/初始化順序與對(duì)象成員產(chǎn)生的順序有關(guān) object two;/排在前面的先初始化 int data; public: container(): data(0) coutDefault constructor for container“en
20、dl; container(int i,int j,int k); container() coutDestructor for container“dataendl; ;,/與初始化列表順序無(wú)關(guān) container container(int i,int j,int k): two(i),one(j) data=k; coutConstructor for container“dataendl; void main() container obj,anObj(5,6,10); 程序運(yùn)行結(jié)果如下:,Default constructor for object /為對(duì)象成員one調(diào)用 /默認(rèn)構(gòu)造
21、函數(shù) Default constructor for object /為對(duì)象成員two調(diào)用 /默認(rèn)構(gòu)造函數(shù) Default constructor for container/為對(duì)象obj調(diào)用 /container類的默認(rèn)構(gòu)造函數(shù) Constructor for object 6 /為對(duì)象成員one調(diào)用 /構(gòu)造函數(shù) Constructor for object 5 /為對(duì)象成員two調(diào)用 /構(gòu)造函數(shù) Constructor for container 10 /為對(duì)象anObj調(diào)用 /container類的有參構(gòu)造函數(shù),Destructor for container 10 /調(diào)用contain
22、er類的析 /構(gòu)函數(shù)析構(gòu)對(duì)象anObj Destructor for object 5 /析構(gòu)數(shù)據(jù)成員為5的對(duì)象two Destructor for object 6 /析構(gòu)數(shù)據(jù)成員為6的對(duì)象one Destructor for container 0 /調(diào)用container類的析構(gòu) /函數(shù)析構(gòu)對(duì)象obj Destructor for object 0 /析構(gòu)對(duì)象two Destructor for object 0 /析構(gòu)對(duì)象one 在這個(gè)程序中, container類包含有兩個(gè)object類的對(duì)象成員one和two。,對(duì)基本數(shù)據(jù)類型的成員的初始化也可以在成員初始化列表中進(jìn)行,例如: co
23、ntainer container(int i,int j,int k) : two(i),one(j),data(k) 當(dāng)初始化const成員和引用成員時(shí),必須通過(guò)成員初始化列表進(jìn)行。 例如下面的例子。,class example private: const int num; int Point有輸出兩點(diǎn)距離的函數(shù)Distance。 給出Line類的實(shí)現(xiàn)并設(shè)計(jì)滿足要求的類模板Point。 分析輸出結(jié)果,總結(jié)構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。,3. 提示 Line的對(duì)象不能直接存取Point對(duì)象的私有數(shù)據(jù)成員。 要求Display(Line&)函數(shù)也輸出兩個(gè)端點(diǎn)坐標(biāo)之間的距離,參數(shù)是Line對(duì)象
24、的引用。假設(shè)為“Line&s”,則引用點(diǎn)對(duì)象a的形式是s.a。對(duì)于a的成員函數(shù),s.a要用“.”運(yùn)算符去調(diào)用,例如,使用“s.a.Display();”顯示Line對(duì)象的一個(gè)端點(diǎn)坐標(biāo)。 可以先不使用類模板,試驗(yàn)成功之后再改為模板。 注意類模板函數(shù)成員在聲明之外定義和作為內(nèi)聯(lián)函數(shù)定義方法的異同。,5-1 設(shè)計(jì)一個(gè)點(diǎn)類Point,再設(shè)計(jì)一個(gè)矩形類,矩形類使用Point類的兩個(gè)坐標(biāo)點(diǎn)作為矩形的對(duì)角頂點(diǎn),并可以輸出4個(gè)坐標(biāo)值和面積。使用測(cè)試程序驗(yàn)證程序。 5-2 使用內(nèi)聯(lián)函數(shù)設(shè)計(jì)一個(gè)類,用來(lái)表示直角坐標(biāo)系中的任意一條直線并輸出它的屬性。 5-3 定義一個(gè)類模板,計(jì)算24個(gè)數(shù)據(jù)的最小值并用不同數(shù)據(jù)測(cè)試類的正確性。,習(xí)題,5-4 下面是以傳統(tǒng)形式的struct來(lái)定義一個(gè)存放字符的棧類型,并定義了有關(guān)棧操作的各種函數(shù)。編寫一個(gè)主函數(shù),定義并輸入一個(gè)字符串,用此串來(lái)驗(yàn)證棧的各種操作,包括把串壓入棧中后再?gòu)棾?,以相反的次序?qū)⑺鼈冿@示出來(lái)。 const max_len=1000; enum boolean false,true; enum EMPTY=-1,F(xiàn)ULL=max_len-
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 23394-2024呼吸防護(hù)正壓式自給閉路壓縮氧氣呼吸器
- 二零二五年度高速公路電氣設(shè)施安裝工程分包合同2篇
- 二零二五版哈爾濱租賃房屋物業(yè)費(fèi)繳納協(xié)議3篇
- 2024版商業(yè)管理咨詢項(xiàng)目合作合同版B版
- 二零二五版國(guó)際貿(mào)易實(shí)務(wù)法規(guī)解讀與應(yīng)用合同3篇
- 2025年數(shù)據(jù)處理協(xié)議3篇
- 2024版花卉綠植采購(gòu)合同書
- 2025年度股權(quán)代持與員工持股計(jì)劃協(xié)議范本3篇
- 2025年度9%股權(quán)轉(zhuǎn)讓與文化旅游產(chǎn)業(yè)發(fā)展合同3篇
- 二零二五版成都上灶師父招聘與餐飲業(yè)人才培養(yǎng)合同2篇
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 2025年1月普通高等學(xué)校招生全國(guó)統(tǒng)一考試適應(yīng)性測(cè)試(八省聯(lián)考)語(yǔ)文試題
- 《立式輥磨機(jī)用陶瓷金屬?gòu)?fù)合磨輥輥套及磨盤襯板》編制說(shuō)明
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 育肥牛購(gòu)銷合同范例
- 暨南大學(xué)珠海校區(qū)財(cái)務(wù)辦招考財(cái)務(wù)工作人員管理單位遴選500模擬題附帶答案詳解
- DB51-T 2944-2022 四川省社會(huì)組織建設(shè)治理規(guī)范
- 2024北京初三(上)期末英語(yǔ)匯編:材料作文
- 2023年輔導(dǎo)員職業(yè)技能大賽試題及答案
- 禮儀服務(wù)合同三篇
評(píng)論
0/150
提交評(píng)論