




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
9.1構(gòu)造函數(shù)9.2析構(gòu)函數(shù)9.3調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)的順序9.4對象數(shù)組9.5對象指針9.6共用數(shù)據(jù)的保護(hù)9.7對象的動(dòng)態(tài)建立和釋放9.8對象的賦值和復(fù)制9.9靜態(tài)成員9.10友元9.11類模板本章內(nèi)容提要9.1構(gòu)造函數(shù)9.1.1對象的初始化
在建立一個(gè)對象時(shí),常常需要作某些初始化的工作,例如對數(shù)據(jù)成員賦初值。類的數(shù)據(jù)成員是不能在聲明類時(shí)初始化的。如果一個(gè)類中所有的成員都是公用的,則可以在定義對象時(shí)對數(shù)據(jù)成員進(jìn)行初始化。classTime{public://聲明為公用成員
hour;minute;sec;};Timet1={14,56,30};
//將t1初始化為14:56:30
29.1.2構(gòu)造函數(shù)的作用
C++提供了構(gòu)造函數(shù)(constructor)來處理對象的初始化。構(gòu)造函數(shù)是一種特殊的成員函數(shù),與其他成員函數(shù)不同,不需要用戶來調(diào)用它,而是在建立對象時(shí)自動(dòng)執(zhí)行。構(gòu)造函數(shù)的名字必須與類名同名它不具有任何類型,不返回任何值。39.1.2構(gòu)造函數(shù)的作用例9.1設(shè)計(jì)鐘,具有校正和報(bào)時(shí)功能,在構(gòu)造函數(shù)初始化時(shí)間。#include<iostream>usingnamespacestd;classClock//聲明鐘類{public://聲明鐘類構(gòu)造函數(shù),函數(shù)名與類名相同
Clock(void);protected://鐘的時(shí)
intnHour;
intnMinute;
intnSecond
;public://校正 voidCheck(void);//報(bào)時(shí) voidGiveTheCorrectTime(void);};49.1.2構(gòu)造函數(shù)的作用//校正voidClock::Check(void){ cout<<"校正鐘,輸入時(shí)、分和秒:"; cin>>nHour>>nMinute>>nSecond;}//報(bào)時(shí)voidClock::GiveTheCorrectTime(void){ //按時(shí)間格式輸出鐘的時(shí)、分和秒的值 cout<<"北京時(shí)間"<<nHour<<":"<<nMinute<<":"<<nSecond<<endl;}int_tmain(intargc,_TCHAR*argv[]){ Clockclock;//制造1個(gè)鐘clock
clock.GiveTheCorrectTime();//鐘clock報(bào)時(shí) clock.Check();//校正鐘clock clock.GiveTheCorrectTime();//鐘clock報(bào)時(shí) Clockwatche;//制造1個(gè)表watche watche.GiveTheCorrectTime();//表watche報(bào)時(shí) watche.Check();//校正表watche watche.GiveTheCorrectTime();//表watche報(bào)時(shí) return0;}
//項(xiàng)目:Atimesignalclock9.1.2構(gòu)造函數(shù)的作用程序運(yùn)行的情況為:北京時(shí)間:1:3:8//鐘clock報(bào)時(shí)168↙
//通過鍵盤校正鐘clock的時(shí)間北京時(shí)間:1:6:8//鐘clock報(bào)時(shí)北京時(shí)間:1:3:8//鐘watche報(bào)時(shí)668↙
//通過鍵盤校正表watche的時(shí)間北京時(shí)間:6:6:8//鐘watche報(bào)時(shí)構(gòu)造函數(shù)使用說明
在類對象進(jìn)入其作用域時(shí)調(diào)用構(gòu)造函數(shù)。構(gòu)造函數(shù)沒有返回值,因此也不需要在定義構(gòu)造函數(shù)時(shí)聲明類型構(gòu)造函數(shù)不需用戶調(diào)用,也不能被用戶調(diào)用一般不提倡在構(gòu)造函數(shù)中加入與初始化無關(guān)的內(nèi)容如果用戶自己沒有定義構(gòu)造函數(shù),則C++系統(tǒng)會(huì)自動(dòng)生成一個(gè)構(gòu)造函數(shù),只是這個(gè)構(gòu)造函數(shù)的函數(shù)體是空的,也沒有參數(shù),不執(zhí)行初始化操作。89.1.3帶參數(shù)的構(gòu)造函數(shù)構(gòu)造函數(shù)首部的一般格式為構(gòu)造函數(shù)名(類型1形參1,類型2形參2,…)定義對象的一般格式為類名對象名(實(shí)參1,實(shí)參2,…);99.1.3帶參數(shù)的構(gòu)造函數(shù)例9.2汽車和桌子的長、寬、高分別為:(1)1,3,8;(2)1,6,8。求它們的體積。編一個(gè)基于對象的程序,在類中用帶參數(shù)的構(gòu)造函數(shù)。#include<iostream>usingnamespacestd;9.1.3帶參數(shù)的構(gòu)造函數(shù)//聲明長方體類classRectangular{protected:
//長方體的長 doublefLength;
//長方體的寬 doublefWidth;
//長方體的高 doublefHeight;9.1.3帶參數(shù)的構(gòu)造函數(shù)public:
//聲明帶參數(shù)的構(gòu)造函數(shù),
//建立指定長、寬和高的長方體 Rectangular(doublelength,doublewidth,doubleheight);
//聲明求長方體的體積的函數(shù) doubleVolume(void);};//項(xiàng)目:Therectangular9.1.3帶參數(shù)的構(gòu)造函數(shù)//定義帶參數(shù)的構(gòu)造函數(shù),//建立指定長、寬和高的長方體Rectangular::Rectangular(doublelength,doublewidth,doubleheight){ fLength=length; fWidth=width; fHeight=height;}//項(xiàng)目:Therectangular9.1.3帶參數(shù)的構(gòu)造函數(shù)//定義求長方體的體積的函數(shù)doubleRectangular::Volume(void){
returnfLength*fWidth*fHeight;}//項(xiàng)目:Therectangular9.1.3帶參數(shù)的構(gòu)造函數(shù)int_tmain(intargc,_TCHAR*argv[]){
//制造汽車,并指定汽車的長、寬和高分別為1,3,8 RectangularCar(1,3,8);
//輸出汽車的體積 cout<<"汽車的體積為"<<Car.Volume()<<"立方米。"<<endl;
//制作桌子,并指定桌子的長、寬和高分別為1,6,8 RectangularTable(1,6,8);
//輸出桌子的體積 cout<<"桌子的體積為"<<Table.Volume()<<"立方米。"<<endl; return0;}9.1.3帶參數(shù)的構(gòu)造函數(shù)程序運(yùn)行結(jié)果如下:汽車的體積為24立方米。桌子的體積為48立方米。9.1.3帶參數(shù)的構(gòu)造函數(shù)可以知道:(1)帶參數(shù)的構(gòu)造函數(shù)中的形參,其對應(yīng)的實(shí)參在定義對象時(shí)給定。(2)用這種方法可以方便地實(shí)現(xiàn)對不同的對象進(jìn)行不同的初始化。9.1.4用參數(shù)初始化表對數(shù)成員初始化在9.1.3節(jié)中介紹的是在構(gòu)造函數(shù)的函數(shù)體內(nèi)通過賦值語句對數(shù)據(jù)成員實(shí)現(xiàn)初始化。//定義帶參數(shù)的構(gòu)造函數(shù),//建立指定長、寬和高的長方體Rectangular::Rectangular(doublelength,doublewidth,doubleheight){ fLength=length; fWidth=width; fHeight=height;}189.1.4參數(shù)初始化表對數(shù)成員初始化C++還提供另一種初始化數(shù)據(jù)成員的方法——參數(shù)初始化表來實(shí)現(xiàn)對數(shù)據(jù)成員的初始化。這種方法不在函數(shù)體內(nèi)對數(shù)據(jù)成員初始化,而是在函數(shù)首部實(shí)現(xiàn)。例9.2中定義構(gòu)造函數(shù)可以改用以下形式://定義帶參數(shù)的構(gòu)造函數(shù),//建立指定長、寬和高的長方體Rectangular::Rectangular(doublelength,doublewidth,doubleheight):fLength(length),fWidth(width),fHeight(height){}199.1.5構(gòu)造函數(shù)的重載在一個(gè)類中可以定義多個(gè)構(gòu)造函數(shù),以便對類對象提供不同的初始化的方法,供用戶選用。這些構(gòu)造函數(shù)具有相同的名字,而參數(shù)的個(gè)數(shù)或參數(shù)的類型不相同。20構(gòu)造函數(shù)的重載舉例#include<iostream>usingnamespacestd;//聲明長方體類classRectangular{protected: doublefLength;//長方體的長
doublefWidth;
//長方體的寬 doublefHeight;
//長方體的高21構(gòu)造函數(shù)的重載舉例public:
//聲明無參數(shù)的構(gòu)造函數(shù)
Rectangular(void);
//聲明帶參數(shù)的構(gòu)造函數(shù),
//建立指定長、寬和高的長方體 Rectangular(doublelength,doublewidth,doubleheight);
//聲明求長方體的體積的函數(shù) doubleVolume(void);};//項(xiàng)目:Therectangular構(gòu)造函數(shù)的重載舉例//定義無參數(shù)的構(gòu)造函數(shù)Rectangular::Rectangular(void){ fLength=6; fWidth=6; fHeight=8;}//項(xiàng)目:Therectangular構(gòu)造函數(shù)的重載舉例//定義帶參數(shù)的構(gòu)造函數(shù),//建立指定長、寬和高的長方體Rectangular::Rectangular(doublelength,doublewidth,doubleheight):fLength(length),fWidth(width),fHeight(height){}//項(xiàng)目:Therectangular構(gòu)造函數(shù)的重載舉例//定義求長方體的體積的函數(shù)doubleRectangular::Volume(void){
returnfLength*fWidth*fHeight;}//項(xiàng)目:Therectangular構(gòu)造函數(shù)的重載舉例int_tmain(intargc,_TCHAR*argv[]){ //制造汽車,并指定汽車的長、寬和高分別為1,3,8 RectangularCar(1,3,8);
//輸出汽車的體積 cout<<"汽車的體積為"<<Car.Volume()<<"立方米。"<<endl;
//制作桌子,并指定桌子的長、寬和高分別為1,6,8 RectangularTable(1,6,8);
//輸出桌子的體積 cout<<"桌子的體積為"<<Table.Volume()<<"立方米。"<<endl;
//建造房子,不指定房子的長、寬和高 RectangularHouse;
//輸出房子的體積 cout<<"房子的體積為"<<House.Volume()<<"立方米。"<<endl; return0;}構(gòu)造函數(shù)的重載說明無參的構(gòu)造函數(shù)屬于默認(rèn)構(gòu)造函數(shù)。一個(gè)類只能有一個(gè)默認(rèn)構(gòu)造函數(shù)。對于每一個(gè)對象來說,建立對象時(shí)只執(zhí)行其中一個(gè)構(gòu)造函數(shù),279.2析構(gòu)函數(shù)析構(gòu)函數(shù)(destructor)也是一個(gè)特殊的成員函數(shù)它的作用與構(gòu)造函數(shù)相反,它的名字是類名的前面加一個(gè)“~”符號(hào)當(dāng)對象的生命期結(jié)束時(shí),會(huì)自動(dòng)執(zhí)行析構(gòu)函數(shù)289.2析構(gòu)函數(shù)的執(zhí)行時(shí)機(jī)自動(dòng)局部對象釋放前自動(dòng)執(zhí)行析構(gòu)函數(shù)static局部對象在函數(shù)調(diào)用結(jié)束時(shí)對象并不釋放,也不調(diào)用析構(gòu)函數(shù),在main函數(shù)結(jié)束或調(diào)用exit時(shí)釋放全局對象,在程序的流程離開其作用域時(shí)釋放299.2析構(gòu)函數(shù)的執(zhí)行時(shí)機(jī)用new運(yùn)算符動(dòng)態(tài)地建立對象,用delete運(yùn)算符釋放該對象時(shí),先調(diào)用該對象的析構(gòu)函數(shù)。注意:析構(gòu)函數(shù)并不是刪除對象,而是在撤銷對象占用的內(nèi)存之前完成一些工作沒有返回及參數(shù),并且不能被重載30析構(gòu)函數(shù)用法舉例#include<iostream>#include<string>usingnamespacestd;classStudent//聲明學(xué)生類Student{
public:
//聲明帶2個(gè)默認(rèn)參數(shù)的構(gòu)造函數(shù) Student(intNumber=138168,string
Name="JackDonson"); ~Student(void);
//聲明析構(gòu)函數(shù)
31析構(gòu)函數(shù)用法舉例protected://以下為類中的保護(hù)部分
//保護(hù)成員變量保存學(xué)生的準(zhǔn)考證號(hào)
intnNumber;
stringstrName;//保護(hù)成員變量保存學(xué)生姓名public://以下為類中的公用部分
//學(xué)生說話
voidSpeak(void);};//類的聲明結(jié)束32析構(gòu)函數(shù)用法舉例//定義帶2個(gè)默認(rèn)參數(shù)的構(gòu)造函數(shù)Student::Student(intNumber,stringName):nNumber(Number),strName(Name){
//輸出信息學(xué)生strName入學(xué)... cout<<"學(xué)生"<<strName<<"入學(xué)..."<<endl;}33析構(gòu)函數(shù)用法舉例//定義析構(gòu)函數(shù)Student::~Student(void){
//輸出信息學(xué)生strName畢業(yè)... cout<<"學(xué)生"<<strName<<"畢業(yè)..."<<endl;}34析構(gòu)函數(shù)用法舉例//學(xué)生說話voidStudent::Speak(void){
//輸出提示信息cout<<"Iam"<<strName;cout<<".Mynumberis"<<nNumber<<endl;}35int_tmain(intargc,_TCHAR*argv[]){
//入學(xué)2個(gè)學(xué)生Jack和RoseStudentJack,
Rose(138668,"RoseDonson");
//調(diào)用學(xué)生Jack的公共成員函數(shù)SpeackJack.Speak();
//調(diào)用學(xué)生Jack的公共成員函數(shù)SpeackRose.Speak(); return0;}//項(xiàng)目:Studentspeacks程序運(yùn)行結(jié)果如下:學(xué)生JackDonson入學(xué)…
//執(zhí)行Jack的構(gòu)造函數(shù)學(xué)生RoseDonson入學(xué)…
//執(zhí)行Rose的構(gòu)造函數(shù)//執(zhí)行Jack的Speaks函數(shù)IamJackDonson.Mynumberis138168//執(zhí)行Rose的Speaks函數(shù)IamRoseDonson.Mynumberis138668學(xué)生JackDonson畢業(yè)…
//執(zhí)行Jack的析構(gòu)函數(shù)學(xué)生RoseDonson畢業(yè)…
//執(zhí)行Rose的析構(gòu)函數(shù)調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)的順序38調(diào)用析構(gòu)函數(shù)的次序正好與調(diào)用構(gòu)造函數(shù)次序相反先構(gòu)造的后解析;后構(gòu)造的先解析調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)的順序39調(diào)用析構(gòu)函數(shù)的次序正好與調(diào)用構(gòu)造函數(shù)次序相反先構(gòu)造的后解析;后構(gòu)造的先解析9.4對象數(shù)組對象數(shù)組的每一個(gè)元素都是同類對象如果構(gòu)造函數(shù)有多個(gè)參數(shù),在定義對象數(shù)組時(shí)應(yīng)當(dāng)在花括號(hào)中分別寫出構(gòu)造函數(shù)并指定實(shí)參StudentStudents[3]={//調(diào)用第1個(gè)元素的構(gòu)造函數(shù),為它提供3個(gè)實(shí)參Student(1001,18,87),//調(diào)用第2個(gè)元素的構(gòu)造函數(shù),為它提供3個(gè)實(shí)參Student(1002,19,76),//調(diào)用第3個(gè)元素的構(gòu)造函數(shù),為它提供3個(gè)實(shí)參Student(1003,18,72)};40對象數(shù)組的使用方法#include<iostream>#include<string>usingnamespacestd;//聲明長方體類classRectangular{protected:
stringstrName;//長方體的名稱
//長方體的長
doublefLength;
//長方體的寬
doublefWidth;
//長方體的高
doublefHeight;41public: //聲明帶4個(gè)默認(rèn)參數(shù)的構(gòu)造函數(shù),
//建立指定名稱、長、寬和高的長方體
Rectangular(stringName="Car",doublelength=6,doublewidth=6,doubleheight=8); ~Rectangular(void); //聲明取長方體的名稱的函數(shù)
stringGetName(void); //聲明求長方體的體積的函數(shù)
doubleVolume(void);};//項(xiàng)目:Somerectangulars//定義帶4個(gè)默認(rèn)參數(shù)的構(gòu)造函數(shù),//用參數(shù)的初始化表初始化名稱、長、寬和高Rectangular::Rectangular(stringName,doublelength,doublewidth,doubleheight):strName(Name),fLength(length),fWidth(width),fHeight(height){}//項(xiàng)目:SomerectangularsRectangular::~Rectangular(void){}//定義取長方體的名稱的函數(shù)stringRectangular::GetName(void){
returnstrName;}//定義求長方體的體積的函數(shù)doubleRectangular::Volume(void){
returnfLength*fWidth*fHeight;}int_tmain(intargc,_TCHAR*argv[]){
//制造3部汽車 RectangularCars[3]={Rectangular("奔馳",1,3,8),Rectangular("凱迪拉克",1,6,8),Rectangular("保時(shí)捷",6,6,8)};
//輸出3部汽車的名稱和體積 for(intIndex=0;Index<3;Index++) {
cout<<Cars[Index].GetName()<<"的體積為"<<Cars[Index].Volume()<<"立方米。"<<endl; } return0;}
//項(xiàng)目:Somerectangulars9.4對象指針(指向?qū)ο蟮闹羔槪┤绻幸粋€(gè)類:classClock//聲明鐘類Clock{
protected:intnHour;intnMinute;intnSecond;public:voidGiveTheCorrectTime();};46指向?qū)ο蟮闹羔榲oidTime∷GiveTheCorrectTime(){cout<<nHour<<":"<<nMinute<<":"<<nSeccond<<endl;}Clockclock;//制作一個(gè)鐘clock//聲明pClock為指向鐘的指針變量,//并將鐘clock的地址初始化指針變量pClockClock*pClock=&clock;//這樣,pClock就是指向鐘的指針變量,它指向鐘clock。47指向?qū)ο蟮闹羔樁x指向類對象的指針變量的一般形式為類名*對象指針名[=&同一類的對象名];//可以通過對象指針訪問對象和對象的成員。如*pClock//pClock所指向的對象,即鐘clock//調(diào)用pClock所指向的對象中GiveTheCorrectTime//公共成員函數(shù),即clock.GiveTheCorrectTime(*pClock).GiveTheCorrectTime();//調(diào)用pt所指向的對象中的GiveTheCorrectTime//公共成員函數(shù),即clock.GiveTheCorrectTimepClock->GiveTheCorrectTime();48指向?qū)ο蟮闹羔樁x指向類對象的指針變量的一般形式為類名*對象指針名[=&同一類的對象名];//可以通過對象指針訪問對象和對象的成員。如*pClock//pClock所指向的對象,即鐘clock//調(diào)用pClock所指向的對象中GiveTheCorrectTime//公共成員函數(shù),即clock.GiveTheCorrectTime(*pClock).GiveTheCorrectTime();//調(diào)用pt所指向的對象中的GiveTheCorrectTime//公共成員函數(shù),即clock.GiveTheCorrectTimepClock->GiveTheCorrectTime();49指向?qū)ο髷?shù)據(jù)成員的指針和定義指向普通變量的指針變量方法相同定義指向?qū)ο髷?shù)據(jù)成員的指針變量的一般形式為數(shù)據(jù)類型名*指針變量名;例如:
int*pInteger;//定義指向整型數(shù)據(jù)的指針變量50指向?qū)ο蟪蓡T函數(shù)的指針定義指向普通函數(shù)的指針變量方法:類型名(*指針變量名)(參數(shù)表列)例如:void(*p)(int,int);p=fun;(*p)(a,b);定義指向公用成員函數(shù)的指針變量:數(shù)據(jù)類型名(類名::*指針變量名)(參數(shù)表列);例如:void(Clock∷*pFunction)();pFunction=&Colck::GiveTheCorrectTime;一般形式:指針變量名=&類名∷成員函數(shù)名;51例.有關(guān)對象指針的使用方法。#include<iostream>usingnamespacestd;classClock//聲明鐘類{public:
//聲明有3個(gè)默認(rèn)參數(shù)的鐘類構(gòu)造函數(shù)
Clock(intHour=1,intMinute=3,intSecond=8); ~Clock(void);//項(xiàng)目:Apointeroftimesignalclockprotected:
//鐘的時(shí)
intnHour;
//鐘的分
intnMinute;
//鐘的秒
intnSecond;public:
//校正
voidCheck(void);
//報(bào)時(shí)
voidGiveTheCorrectTime(void);};//項(xiàng)目:Apointeroftimesignalclock//定義有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第4課 添加特殊效果說課稿-2025-2026學(xué)年小學(xué)信息技術(shù)人教版一 二年級起點(diǎn)四年級下冊-人教版(一、二年級起點(diǎn))
- 七年級地理下冊 6.1《自然特征與農(nóng)業(yè)》說課稿3 魯教版五四制
- 編程機(jī)器人教育玩具行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 寵物線上線下整合營銷方案創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書
- 2025年氣候變化對全球供應(yīng)鏈的威脅
- 11.1 人體的骨骼 說課稿-2024-2025學(xué)年北師大版生物七年級下冊
- 4.4金屬的電化學(xué)腐蝕與防護(hù)教學(xué)設(shè)計(jì)高中化學(xué)滬科版2020選擇性必修1 化學(xué)反應(yīng)原理-滬科版2020
- 公司疫情培訓(xùn)知識(shí)講座課件
- 21 小圣施威降大圣新教材七年級上冊語文新教學(xué)設(shè)計(jì)(統(tǒng)編版2024)
- 公司環(huán)境知識(shí)培訓(xùn)內(nèi)容課件
- 2025年湖南衡南縣發(fā)展集團(tuán)有限公司招聘12人備考考試題庫附答案解析
- 2025年汽車駕駛員(高級)理論考試試題及答案
- 2025年及未來5年中國鋰電池疊片機(jī)行業(yè)市場深度分析及發(fā)展趨勢預(yù)測報(bào)告
- 應(yīng)用流媒體服務(wù)拓展創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書
- 2025年幼兒園保健醫(yī)考核試題及答案
- 烏茲別克語自學(xué)課件
- 《“盛世華誕”國慶主題》課件
- 2025年江蘇衛(wèi)生健康職業(yè)學(xué)院單招《語文》檢測卷
- 物流客服培訓(xùn)課件
- 川教版四年級上冊《生命.生態(tài).安全》全冊教案(及計(jì)劃)
- 華為技術(shù)有限公司企業(yè)簡稱2023環(huán)境、社會(huì)與公司治理報(bào)告:高科技行業(yè)ESG績效與NGO監(jiān)督
評論
0/150
提交評論