




已阅读5页,还剩105页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
派生类与继承,1、类之间的关系,2、派生类的概念,3、派生类的构造函数与析构函数,4、调整派生类中基类成员的访问属性,5、多重继承,6、赋值兼容规则,兰州理工大学计算机与通信学院张其文,1、类之间的关系,has-A,uses-A和is-Ahas-A(包含关系),用以描述一个类由多个“部件类”构成。实现has-A关系用类成员表示,即一个类中的数据成员是已定义的类。uses-A(一个类部分地使用另一个类),通过类之间成员函数的相互联系,定义友员或对象参数传递实现。is-A(继承)。关系具有传递性,不具有对称性。,非对称性:不是所有植物都属于蕨类。,传递性:高等植物、蕨类植物、芒萁都是植物,具有植物的共同特征。,植物,继承关系,继承是类之间定义的一种重要关系。一个B类继承A类,或称从类A派生类B类A称为基类(父类),类B称为派生类(子类),B1,B2的基类,A的派生类C1,C2,C3的基类,A的派生类(单继承)C3的基类,B1,B2的派生类(多继承),B1的派生类,继承关系,classpersonprotected:charname10;intage;charsex;public:voidprint();,classemployeeprotected:charname10;intage;charsex;chardepartment20;floatsalary;public:voidprint();,为什么要用继承?,继承:保持已有类的特性而构造新类的过程。派生:在已有类的基础上新增自己的特性而产生新类的过程。继承的目的:实现代码重用。派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。,2、派生类的概念,继承关系的语法形式class派生类名:基类名表数据成员和成员函数声明;,派生类的声明,派生类的功能:可以增加新的数据成员;可以增加新的成员函数;可以重新定义基类中已有的成员函数;可以改变现有成员的属性。,基类名表构成访问控制基类名1,访问控制基类名2,访问控制基类名n,访问控制:表示派生类对基类的继承方式public公有继承private私有继承protected保护继承,派生类的声明,派生类对基类成员的使用,与继承访问控制和基类中成员性质有关;公有继承基类的公有成员派生类的公有成员基类的保护成员派生类的保护成员私有继承基类的公有成员和保护成员派生类的私有成员保护继承基类的公有成员和保护成员派生类的保护成员不论什么方式继承基类,派生类都不能直接使用基类的私有成员。,访问控制,(1)公有继承,#includeclassApublic:voidget_XY()coutxy;voidput_XY()couth;intget_V()returnv;voidmake_V()make_S();v=get_S()*h;/使用基类成员函数protected:inth,v;,公有继承的测试,#includeclassApublic:voidget_XY()coutxy;voidput_XY()couth;intget_V()returnv;voidmake_V()make_S();v=get_S()*h;/使用基类成员函数protected:inth,v;,保护数据成员在类层次中可见,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,xy,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,xy,s,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,对objA的数据成员操作,xy,s,hv,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,调用基类A成员函数对objB的数据成员操作,xy,s,hv,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,调用派生类B成员函数对objB的数据成员操作,xy,s,hv,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,调用基类A成员函数对objC的数据成员操作,xy,s,hv,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()endl;,调用派生类C成员函数对objC的数据成员操作,xy,s,hv,公有继承的测试,voidmain()AobjA;BobjB;CobjC;coutItisobject_A:n;objA.get_XY();objA.put_XY();coutItisobject_B:n;objB.get_XY();objB.make_S();coutS=objB.get_S()endl;coutItisobject_C:n;objC.get_XY();objC.get_H();objC.make_V();coutV=objC.get_V()y;voidput_XY()coutx=x,y=yn;protected:intx,y;classB:privateApublic:intget_S()returns;voidmake_S()get_XY();s=x*y;private:ints;voidmain()BobjB;coutItisobject_B:n;objB.make_S();coutS=objB.get_S()y;voidput_XY()coutx=x,y=yn;protected:intx,y;classB:privateApublic:intget_S()returns;voidmake_S()get_XY();s=x*y;private:ints;voidmain()BobjB;coutItisobject_B:n;objB.make_S();coutS=objB.get_S()y;voidput_XY()coutx=x,y=yn;protected:intx,y;classB:privateApublic:intget_S()returns;voidmake_S()get_XY();s=x*y;private:ints;voidmain()BobjB;coutItisobject_B:n;objB.make_S();coutS=objB.get_S()y;voidput_XY()coutx=x,y=yn;protected:intx,y;classB:privateApublic:intget_S()returns;voidmake_S()get_XY();s=x*y;private:ints;voidmain()BobjB;coutItisobject_B:n;objB.make_S();coutS=objB.get_S()endl;,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;Bb;b.addX();b.addY();couta.x=a.out()endl;coutb.x=b.A:out()endl;coutb.y=b.out()endl;,基类的私有数据成员不能在派生类中直接访问但派生类对象建立私有数据空间,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,调用构造函数对数据成员赋值,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,创建派生类对象调用基类派生类构造函数b.x=1b.y=1,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,调用基类公有成员函数b.x+,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,调用派生类公有成员函数b.y+,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,调用基类版本同名函数返回b.x的值,私有继承的测试,#includeclassApublic:A()x=1;intout()returnx;voidaddX()x+;private:intx;classB:publicApublic:B()y=1;intout()returny;voidaddY()y+;private:inty;voidmain()Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A:out()endl;coutb.y=b.out()endl;,调用派生类版本同名函数返回b.y的值,私有继承的测试,(3)保护继承,3、派生类的构造函数和析构函数,基类的构造函数和析构函数都不被继承,需要在派生类中重新定义。由于派生类继承了基类的成员,在初始化时,要同时初始化基类成员。声明派生类构造函数时,除了需要对本类中新增成员进行初始化外,还要对基类成员初始化。,派生类的构造函数,派生类构造函数声明的一般语法形式如下::(参数总表):基类名1(参数表1),.,基类名n(参数表n),内嵌对象名1(内嵌对象参数表1),.,内嵌对象名m(内嵌对象参数表m)派生类新增成员的初始化语句;,派生类的构造函数,其中:派生类的构造函数名与派生类名相同。参数总表需要列出初始化基类数据、新增内嵌对象数据及新增一般成员数据所需要的全部参数。冒号之后,列出需要使用参数进行初始化的基类名和内嵌成员名及各自的参数表,各项之间用逗号分隔。,派生类构造函数的执行顺序:(1)先调用基类的构造函数;(2)然后按照数据成员的声明顺序,依次调用数据成员的构造函数;(3)最后执行派生类构造函数的函数体。注意:构造函数的执行顺序只与成员声明的顺序有关,而与初始化表中各项的排列顺序无关。常量成员、引用成员、内嵌对象,只能通过初始化表的方法初始化。,派生类的构造函数,基类对象成员派生类,析构函数也不被继承,派生类自行声明。声明方法与一般(无继承关系时)类的析构函数相同。派生类析构函数执行时将自动调用基类及内嵌对象的析构函数,系统会自动隐式调用,因此不必显式调用。析构函数的调用次序与构造函数相反。,派生类的析构函数,/构造函数调用顺序测试,构造函数无参数#includeclassBasepublic:Base()coutBasecreated.n;classD_class:publicBasepublic:D_class()coutD_classcreated.n;voidmain()D_classd1;,调用基类构造函数,/构造函数调用顺序测试,构造函数无参数#includeclassBasepublic:Base()coutBasecreated.n;classD_class:publicBasepublic:D_class()coutD_classcreated.n;voidmain()D_classd1;,调用派生类构造函数,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,intdata1,data2;,intdata3;,parent_classdata4;,带参数构造函数调用顺序测试,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;,基类有一个带参数的构造函数,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;,成员函数数据成员自增,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,类成员,带参数构造函数调用顺序测试,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,派生类构造函数有5个参数,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,调用基类构造函数,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,构造对象成员,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,对自身数据成员赋值,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_class(intp1,intp2)data1=p1;data2=p2;intinc1()return+data1;intinc2()return+data2;voiddisplay()coutdata1=data1,data2=data2endl;classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;voidmain()derived_classd1(17,18,1,2,-5);d1.inc1();d1.display();,classderived_class:privateparent_classintdata3;parent_classdata4;public:derived_class(intp1,intp2,intp3,intp4,intp5):parent_class(p1,p2),data4(p3,p4)data3=p5;intinc1()returnparent_class:inc1();intinc3()return+data3;voiddisplay()parent_class:display();data4.display();coutdata3=data3endl;,调用基类版本的成员函数,带参数构造函数调用顺序测试,#includeclassparent_classintdata1,data2;public:parent_c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025自考专业(工商企业管理)考前冲刺练习题及参考答案详解【轻巧夺冠】
- 2025粮油食品检验人员考前冲刺练习试题及参考答案详解(突破训练)
- 2023年度计算机二级全真模拟模拟题(综合卷)附答案详解
- 2025机械设备制造修理人员高频难、易错点题(轻巧夺冠)附答案详解
- 2025年广东省化州市中考数学练习题(B卷)附答案详解
- 2025康复医学治疗技术副高级职称经典例题附完整答案详解【有一套】
- 2024-2025学年医师定期考核真题及参考答案详解【基础题】
- 2024年事业单位招聘每日一练试卷带答案详解(能力提升)
- 苏州大学科研助理岗位招聘笔试备考题库参考答案详解
- 业务流程优化方案设计模板工作效率提升版
- 宝钢工程RH精炼炉设备与工艺技术介绍
- 采购报告范文
- 某县某年度高标准基本农田建设项目复核报告
- 医学教材 围术期过敏反应
- 【MOOC】管理会计学-西南财经大学 中国大学慕课MOOC答案
- 现代辅助生殖技术护理伦理
- 体育设施建设造价评估方案
- 风力发电运维值班员(高级工)理论考试题库(浓缩400题)
- 人美版美术七年级上册第一单元《第2课 品篆刻之美》课件
- 宪法培训课件教学课件
- 华为全球培训中心
评论
0/150
提交评论