2023年面向对象程序设计打印.pdf

上传人:无*** 文档编号:90888401 上传时间:2023-05-18 格式:PDF 页数:45 大小:4.70MB
返回 下载 相关 举报
2023年面向对象程序设计打印.pdf_第1页
第1页 / 共45页
2023年面向对象程序设计打印.pdf_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《2023年面向对象程序设计打印.pdf》由会员分享,可在线阅读,更多相关《2023年面向对象程序设计打印.pdf(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、填空题1.面向对象系统的四个特性分别是抽象性继承性、封装性和多态性。2.假如一个类至少有一个纯虚函数,那么该类被称为抽象类。3.对于具有对象成员的派生类,其构造函数的执行顺序为:先执行基类构造函数、再执行工对象构造函数,最后执行派生类构造函数。4.纯虚函数的声明格式为:v i r t u a l函数类型函数名(参数列表)=0;。5.运算符重载仍然保持本来的结合性、优先级和语法结构。6.类型转换函数的作用是将一个类的对象转换成另一类型的数据。7.静态联编支持的多态性称为编译时的多态性,也称静态多态性。8.类中成员的三种访问权限分别是p u b l i c、p r iv a te和p r o

2、t e c t e d。9 .定义派生类时,系统默认的继承方式是p r i v a te。1 0.C+允许在相同的作用域内以相同的名字定义几个不同实现的函数,称这种同一个函数名多种含义的现象为函数重载。11.在C+中,运营时的多态性重要通过虚函数和继承实现。12.在一个函数的定义或声明前加上关键字i n I in e时,该函数就声明为内置函数。1 3.派生类的成员涉及从基类继承来的成员和自己增长的成员两大部分。1 4.c in称为C+标准输入流。63.在C+语言中,co u t被称为 标 准 输 出 流。15.在C+语言中,用运算符new动态建立对象,用运算符de I e te撤消对象。16.

3、基 类 的 构造函数和析构函数 不能被派生类继承。17.名称为temp的类的复制构造函数的原型声明语句为tem p(constt e m p&s);。18.设立友元函数的目的是为了可以访问该类的私有成员和保护成员。1 9.在C+程序中,静态成员函数重要用来访问静态数据成员。2 0.类模板是类的抽象,类是类模板的实例。2 1 .拷贝构造函数的形参必须是当前类对象的引用类型。2 2 .进行函数重载时,被重载的同名函数假如都没有用c o n st修饰,则它们的形参个数不同或类型不同或个数和类型都不同。2 3.在类中必须声明成员函数的原型,成 员 函 数 的 划,部分可以写在类外。2 4.多 态 性

4、是指发出同样的消息被不同类型的对象接受时有也许导致完全不同的行为。2 5.在已有类的基础上新增自己的特性而产生新类的过程称为 派生。2 6.当用类的一个对象去初始化该类的另一个对象时系统自动调用复制构造函数实现赋值。2 7.友元函数是在类声明中由关键字f r i end修饰说明的非成员函数,在它的函数体中可以通过对象名访问p r i v a t e 和 p ro tected成员。28.假如需要在某个类的声明之前,引用该类,则应进行 前 向 引 用 声明。2 9 .国遂是将数据及对数据的操作方法封装在一起,作为一个互相依存、不可分离的整体。30.C+中输出数据时,在标准输出流对象cout之 后

5、 使 用 的 运 算 符 称 为 流插入。3 1 .从系统实现角度看,多态性分为静态多态性和 动态多态性。32.基 类 的 私 有 成 员 在派生类中是不可访问的。3 3.对象空间的起始地址就是 对象的指针。3 4.对象与对象之间通过消 息 进行通讯。3 5.C+中用于定义模板的关键字是tem p late。36.在 C+的类中包含两种成员,分 别 是 数据成员和成员函数。37.所谓 函 数 模 版,事实上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。3 8.C+为提高函数调用的效率,允许在编译时将所调用函数的代码嵌入到主函数中,这种嵌入到主函数的函数称为 内 置

6、 函 数。3 9.类中有两种特殊的成员函数,分别是 构造函数 和 析构函数。4 0 .若要定义指向Ti m e 类对象t 1 的常指针p t r,其定义语句为:Time*const ptr=&t 1 ;41.假如函数的形参为类的对象,在调用函数时需要将实参对象完整地传递给形参对象,此时系统要调用复制构造函数来实现。42.假如需要在同类的多个对象之间实现数据共享,但不用全局变量,可 以 用 静态成员变量。43.在 C+中,要访问类中的私有成员,可以使用 成员函数 和 友元函数。4 4.C+中,有四个运算符必须重载为类的成员函数,而不能重载为友元函数,这四个运算符分别是:=,(),-。45.若要实

7、现两个复数类对象相加运算,并且满足互换律,要 将“+”重载为类的 友 元 函 数o4 6 .面向对象技术强调软件的可重用性,C+语言提供了类的出丞 机制,解决了软件重用问题。4 7 .C+中允许一个派生类同时继承多个基类,这 种 行 为 称 为 多重继承。48.声明虚基类命令的的一般形式为c I a s s派生类名:v i r t u a l 继承方式 基类名。4 9.只 有 公 用 继 承 才是基类真正的子类型。5 0 .动态多态性是在程序运营过程中才动态地拟定操作所针对的对象,又称为 运营时的多态性。51.虚函数一定是类的 成员函数。5 2.静态成员函数 没有t h is指针。53.类中成

8、员默认的访问属性是pr i vate。5 4 .用关键字i n l i n e声明的函数称为 内置函数。55.若将两个复数相加运算符“+”重载为类comp I e x的成员函数,且函数的返回值为当前类的对象,其函数的原型声明语句为com p l e x o p e ra t o r+(comp lex&);。5 6.若用o p代表C+中任意一个允许重载的运算符,其重载函数名为o p e ra t o r o p。57.C+中的模板分为类 模 板 和 函数模板。58.具 有 封装性、继 承 性 和多态也特点的程序设计称为面向对象的程序设计。59.用已有对象复制一个新对象时要调用复 制 构 造 函

9、 数。60.在基类中将show(无参数)声明为返回整型数据的纯虚函数的语句格式为:v irtu的in tshow。=0;。6 1.在派生类中,对基类的继承方式可以有p u b lic、pr i v a te和protected。62.将双目运算符重载为某类的成员函数时,该 成 员 函 数 的 左 操 作 数 为 当 前 对 象(或h i s),右操作数为函数参数。6 4.若要访问类中的私有成员,除了可以运用成员函数外,还可以采用的 友元函数 的方式。65.定义静态成员函数的目的是为了访问类中的 静 态 数据成员。66.要实现运营时的多态性要使用 虚函数 和 继承。67.派生类的成员来自两个途径

10、,一种是派生类中定义的成员,另一种 从基类继承来的成员。68.构 造 函 数 是一种特殊的成员函数,其作用是对类的数据成员进行初始化并执行对象的其他内部管理操作。69.在类中定义和实现的函数称为成员函数。70 .c。n s t成员函数 只能引用本类中的数据成员,而不以修改数据成员。71.假如一个类中至少有一个 纯 虚 函 数,那么该类被称为抽象类。72.C+中用s ta t i c 声明的对象称为静态对象。73.若 有 类 名 为 s a m p le,则其复制构造函数的原型声明语句为samp I e(const sample&):o*二、选择题1.设 i n t X=1 0,X+=3+X%(

11、-3),则 X=C。A.15 B.1 lo C.14。D.122.下列运算符,不能重载为友元函数的是 D oA.、3.在 C+中,要实现动态联编,必须使用 B 调用虚函数A.派生类指针 B.基类指针 C.对象名。D.类名4 .若 运 算 符“”被重载为类的成员函数,则表达式。bj 1 obj2被 C+编译器解释为_A oA.obj1.oper a to r (o b j 2)B.ob j 2.o p e ra t o r (obj1)C.o p e rator()D.(obj1,ob j 2)5.对于语句c o u t X e n d l;中的各个组成部分,下列叙述中错误的是 B。A.“co

12、u t”是一个输出流对象。B.“D.17.已知类A 中一个成员函数说明如下:V oid s e t(A&a);其中,A&a 的含义是 C。A.指向类A 的指针为aB.将 a 的地址值赋给变量se tC.a 是 类 A 的对象引用,用来作为函数se t。的形参D.变量A 与 a 按位相与作为函数s e t。的参数1 8.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化次数 B。A.与虚基类下面的派生类个数有关 B.一次 C.二次。D.多次1 9.下列函数中 D 不能重载。A.成员函数。B.非成员函数。0.构 造 函 数D.析构函数2 0.关于

13、动态联编的下列描述中,A 是错误的。A.动态联编是在编译时拟定操作函数的B.动态联编是以虚函数为基础的C.动态联编是在运营时拟定所调用的函数代码的D.动态联编调用函数操作是用指向对象的指针或对象引用21.下列运算符中 D_运算符不能重载。A.&。B.n e w C.。D.:22.关于虚函数的描述中,_A 是对的的。A.函数基类中说明了虚函数后,派生类中将其相应的函数可不必说明为虚函数B.虚函数是一个非成员函数C.虚函数是一个s t a t i c类型的成员D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型2 3.下面关于对象的描述中,错误的是D。A,对象之间的信息传递是通过消息进行的。B

14、.对象是类的实例C.一个类可以定义多个对象。D.对象是类的别名2 4.下述静态数据成员的特性中 C 是错误的。A.说明静态数据成员时前边要加修饰符stati cB.引用静态数据成员时,要在静态数据成员名前加 类名 和作用域运算符C.静态数据成员不是所有对象所共用的D.静态数据成员要在类体外进行初始化25.有关类的说法中,不对的的是_D。A.类是一种用户定义的数据类型B.类中的成员函数可以存取类中的私有数据C.在美中,假如不作特别说明,所有的成员函数均为私有类型D.在类中,假如不作特别说明,所有的数据成员均为公有类型26.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的

15、_C_。A.pub l i e 成员。B.pr o tec t e d 成员 C.p r iv a te 成员。D.友元2 7.有如下类声明:class samp I e p u b I ic:i n t mem;则 s amp I e 类的成员mem是 BA.公有成员函数 B.公有数据成员。C.私有数据成员。D.私有成员函数28.在 C+中,关于设立参数的默认值的描述中,对的的是 AA.设立参数默认值时,应当是先设立右边的再设立左边的B.设立参数默认值只能在定义函数时设立C.设立参数默认值时,应当所有参数都设立D.不允许设立参数的默认值2 9 .函数模板的使用,事实上是将函数模板实例化成一个

16、具体的 B。A.类 B.函数。C.对象 D.模板类30.在多重继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则 AA.完全相同 B.完全不同 C.部分相同,部 分 不 同 D.以上都不对3 1 .下面关于对象概念的描述中,C 是错误的。A.对象是一个状态和操作(或方法)的封装体B.对象代表着正在创建的系统中的一个实体C.对象就是C语言中的结构体变量D.对象之间的信息传递是通过消息进行的3 2 .继承机制的作用是 AA.定义新类。B.数据封装 C.数据抽象 D.信息隐藏33.有关析构函数的说法不对的的是 AA.析构函数不能是虚函数 B.析构函数无任何函数类型C.析构函数没

17、有形参D.析构函数有且只有一个34.友元的作用之一是 CA.加强类的封装性 B.实现数据的隐藏性C.提高程序的运营效率。D.增长成员函数的种类35.通常拷贝构造函数的参数是 B。A.本类对象名 B.本类对象的引用名 C.本 类 对 象 的 成 员 名 D.本类对象的指针名3 6 .假如在基类中将show声明为不带返回值的纯虚函数,对的的写法是 C oA.v i r t u a I sh ow()=0;B.vi rtual vo i d s h ow();C.vi r tua I v o id show()=0;。D.v o id sho w=0 v i rtu a I;37.下面关于友元的描述

18、中,错误的是 A oA.类与类之间的友元关系可以继承B.一个类的友元类中的成员函数都是这个类的友元函数C.友元函数可以访问该类的私有数据成员D.友元可以提高程序的运营效率38.在 C+中,B 运算符不能重载。A.+B.size o f C.-D.二39.下列关于运算符重载的描述中 A 是对的的。A.运算符重载不可以改变语法结构。B.运算符重载可以改变结合性C.运算符重载可以改变优先级。D.运算符重载可以改变操作数的个数4 0 .当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的 B_。A.p r iv a te 成员 B.prot e c te d 成员。C.p u b

19、 lic 成员。D.友元41.在声明类时,下面的说法对的的是_ _ B oA.可以在类的声明中给数据成员赋初值B.pr i vate,pub I i c,pro t e c te d 可以按任意顺序出现C.数据成员的数据类型可以是reg i ste rD.没有用private,p u b I ic,p rotec t e d 定义的数据成员是公有成员42.有如下类声明:c I ass Foo int b a r:;则 F o o 类的成员b a r是 AA.私有数据成员 B.私有成员函数 C.公有数据成员 D.公有成员函数4 3 .设立虚基类的目的是 B_ oA.简化程序 B.消除二义性 C.

20、减少目的代码。D.提高运营效率44.对虚函数的调用 A。A.不一定使用动态联编。B.必须使用动态联编C.一 定 使 用 动 态 联 编。D.一定使用静态联编4 5 .关于成员函数特性的下述描述中,_ _B_是错误的。A.成员函数可以是静态的 B.成员函数一定是内置函数C.成员函数可以设立参数的默认值。D.成员函数可以重载46.类的成员函数不涉及 C。A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数47.继承具有 A 即当基类自身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A.传递性 B.规律性。C.反复性。D.多样性48.若 运 算 符“”被重载为类的友元函数,则

21、表达式。b j1 o b j2 被 C+编译器解释为 C。A.(o bj1,ob j 2)B.o bj1.operat o r (o bj2)C.operat o r(ob j 1,obj 2)D.operat o r()49.下面关于友元的描述中,错误的是 C oA.友元函数可以访问该类的私有数据成员B.友元可以提高程序的运营效率C.类与类之间的友元关系可以继承D.一个类的友元类中的成员函数都是这个类的友元函数50.有关构造函数的说法不对的的是 C。A.构造函数名字和类的名字同样 B.构造函数无任何函数类型C.构造函数有且只有一个。D.构造函数在说明类的某个对象时自动执行51.设 n=8,i

22、=4,则赋值运算n%=i+1执行后,n 的值是 C。A.0B.10.3。D.252.在下列选项中,B 不能作为鉴定函数重载的依据。A.参数个数 B.函数的类型 C.参数的类型 D.函数名称53.有关虚函数的说法不对的的是 A oA.静态成员函数可以是虚函数。B.只有类的成员函数才干说明为虚函数C.构造函数不能是虚函数。D.析构函数可以是虚函数54.派生类的对象对它的基类D 是可以访问的。A.公有继承的私有成员。B.私有继承的公有成员C.公有继承的保护成员 D.公有继承的公有成员5 5 .下列关于sw itc h语句的描述中,A _是对的的。A.sw i t c h语句中d ef a u I t

23、子句可以没有,也可有一个B.s w itc h语句中每个语句序列中必须有b r eak语句C.sw itch语句中d ef au I t子句只能放在最后D.s wi t c h语句中case子句后面的表达式只能是整型表达式5 6 .能用友元函数重载的运算符是_ _D oA.-o B.=C.口。D.+三、读程序写结果1.#i n cIude u sing name s pac e s td;clas s poin tpub I ic:p o in t(i n t i,in t j)x=i;y=J;vo i d pr i n t ()cou t ,(x y )end I;voi d op e ra

24、 t or+z:(po i n t p)x+=p.x;y+=p.y;void op e r a to r-=(p o i n t p)x-=p.x;y-=p.y;pr i vat e:i n t x,y;);voi d m a i n()poi n t p1(2,3),p 2(1,4);p 1 .pr i n t();p2.p r i n t();p1+=p2;p1.p r i n t();P 2-=p 1 ;p 2.p r i n t();运营结果:(2,3)(1,4)(3,7)(-2,-3)2.#in c I ud e u s i n g n amespac e std;c I a ss

25、t i m e rpu b I ic:t imer()s e c o nds=0;t imer(i nt t)seconds5;timer(i n t min,i nt sec)s e conds=m i n*60+se c;in t g e t t im e()r eturn s e c onds;pr i vate:in t sec o n d s;v o id m a in()t ime r a,b(2 0),c(3,1 2);c o u t s e condsl=a.ge 11 i me()e n d I;c o u t s econ d s 2=”b.g e tt i me()end

26、 I;c o u t s e c onds3=c.g e tt i me 0 e n d I)运营结果:seco n ds1=0second 5 1 =2 0seconds1=1923.#incIude us i ng namespac e std;cI ass A p u b lic:A(in t i,in t j )a=i;b=j;void m ove(int x,i nt y)a+=x;b+二 y;v o id sh o w()cou t (1 a ,1 b )e n d I;p r i v a te:in t a,b;;c I as s B:p u b I ic Ap u b lic:

27、B(i nt i,in t j,in t k,in t I):A(i,j),x(k),y(I)v o id show()c o u t x ,yendI;vo i d f un()m o v e (3,5);v o id f1 0 A:show();pr i vat e:int x,y;I;i n t ma in()A e(4,6);e.s h o w();B d(1,3,2,5);d.fu n();d.A:s how();d.B:sh o w();d.f 1 0;sy s t e m (paus e );re tu r n 0;)运营结果:(4,6)(4,8)2,5(4,8)4.#i n c

28、 I u d e using namespac e st d;c I as s Apub lie:A(int i=0)m=i;c o u t n c o ns t rue t or cal led.n m e nd I;void s e t (in t i)m=i;void p r i nt()cons t c o u t m end I;A(const A&s)m=s.m;co u t c o p y e n d I;A。c o u t d e s tru c to r c a l led.m en d I;pr i va t e:in t m;in t ma i n()const i n

29、t N=7;A m y;my=N;my.p r i n t ();re t u rn 0;运营结果:co ns t r u c t o r c a I I e d.0c on s tru c to r ca I I ed.7dess t ru c t or c a I I ed.77desst r u c t o r c a I Ied.75.#i n cI u d e us i ng nam e s pace s td;c I as s Mpu b I i c:M (in t a=0,in t b=0)x=a;y=b;i nt getx()retur n x;i nt g ety()retu

30、rn y;p r i vate:in t x,y;);i n t mai n 0 M op1(8,6);in t i,j;i=op1.getx();j=op 1 .g e t y();co ut 1,i=i n,j=n j e n d I;s y stemCp a u s e );r e t urn 0;)运营结果:i=8,j=66.#i n c I ude using namespace s td;te m p la t e vo i d myfunc(t y p e l x,typ e 2 y)co u t x ,y e n dl;in t mai n()myf u nc(2 7,p r

31、og r am*);myfunc(1 2.2 3,3 2 u);r e tu r n 0 ;b运营结果:2 7,pr o gram1 2.23,327.#i nc I u de#i ncIude u s in g namespace std;c I ass B o ok i nt n um,pr ic e;p ubl i c:Boo k(in t a-0,in t b=O)num=a;p r i c e=b;vo i d showMone y()c o u t s e t w(4)n um*pr i ceend I;i nt mai n 0 Book b =Book(3,9),Bo o k(2

32、,8),Book(4,7):B o ok*p;i nt i;P二 b;fo r(i=0 ;i sh o wMo n e y();s y s t em(np a use);r eturn 0;运营结果:2 7 o (前面有俩空格)16。(前面有俩空格)2 8(前面有俩空格)8.#i ncludeus i ng namespa c e s t d;c I ass Po i nt p ub I ic:Po i nt()X=Y=0:cout F I R S T :D efault Cons t r uctor c a I led.n u;P oi n t (in t xx,i nt yy)X二xx;Y

33、=yy;co u t SECOND:Con s tru c to r c a I Ied.n ;P oint()cou t T H I RD:D es t r uctor c a I I ed.n ;i n t G et X()return X;i n t Ge t Y()retu r n Y;void Move(i n t x,i n t y)X=x;Y=y;p r i v ate:in t X,Y;i n t mai n 0 co utS t ep O n e:end I;P oi n t *Ptr1=new P o i nt;d e I ete P t r 1;cou t *S t e

34、p Tw o:e n d I;P tr1=new Po i nt(5,6);d e I ete P tr1;re t ur n 0 ;运营结果:Step One:F IR S T:D e fau 11 C ons t r u ct o r cal le d.THI R D:De s t r ucto r c a lie d.S te p T w o:SECOND:Con s t rue t or c a I led.THIRD:Destr u ctor c a I I ed.9.#i n cIu d e c I ass Po i n t public:Po i nt(i nt x x,i nt

35、 y y);Po i nt();int G e t X()ret urn X;i nt G e tY()re t u rn Y;p r i vate:i nt X,Y;Po i n t:Po i nt(i nt x x,i n t yy)X=xx;Y=y y;cout Co n structor call ed.en d I;Point:Point()cou t G etX();c o utx e n d I;return 0;运营结果:C o n st r uctor c a I I ed.1Des t ructo r caI led.1 0.#in c Iudeus i n g n a m

36、e s pac e s td;class Te s tst a t ic i n t c o u n t;pub l i e:T e st()(+coun t ;c out V”对象数量=c on n t V e nd I;)Test()一 一coun t ;c o u t V”对象数量=H c o un t e n d I;);i n t T e s t:c ount=0 ;i n t ma i n()T e s t t 4 ;。运营结果:。对象数量二1。对象数量二2。对象数量二3对象数量二4对象数量二3。对象数量二2。对象数量二1对象数量二011.#i ncIude u s in g na

37、mes p ace std;in t ma in()i n t num=2345;I o n g p=1;d o p*=n u m%10;num/=1 0 ;wh i le(n u m);cout p=p end I;r e turn 0;)运营结果:p=1 2012.#inclu d eus i n g name s p a ce s t d;i n t a =1 ,2,3,4,5);i nt&fun(i n t i )ret u rn ai;)i nt m a i n()i nt i;fun(2)=10;f or(i =O;i5;i+)c o u t a i “;/“”中间空 2 个格co

38、ut e nd I;syst e m(pause);re t u r n 0;运营结果:1 2 1 0 4 5(中间两个空格)13.#in c I ude us i ng n a mes p ace std;int n=0;i nt&f (i nt m)n+=m;return n;i n t ma i n()f(3)+=2 1;c o u tn n=”V nend I;r e t u r n 0;)运营结果:n 二 241 4.#i n cI u de#i ncI u d e u s i ng nam e s pa c e std;c I ass mycI ass pu b I i c:myc

39、lass()co u t s e tw(4)1;)m yc I a ss(char c)cou t se t w(4)2;myc I ass()couts e tw(4)3 end I;);in t ma i n()my c I ass a,p1,*p 2;p 2=ne w myc I ass(X);d eI e te p2;system(pause );r e turn 0:)运营结果:112 3(每个数字前面3个空格)3ooo。(每个数字前面3个空格)3。o o (每个数字前面3个空格)1 5.#include u s i ng namesp a c e s t d;in t&f 1 (i

40、n t n,i n t s)in t&m=s n ;r eturn m;i n t mai n()i n t s =1 ,2,3,4,5,6;f1(2,s)n o;c o u t f1 (2 ,s)e n dI;return 0;运营结果:1016.#inc I ude us i ng namespace s t d;c I ass B;c I as s Ap u b I i c:A(i nt i)a=i;f r i end in t F(A&f 1,B&f 2);p r i v ate:o i nt a;);c I as s B p u b I i c:B(i n t i)b=i;frien

41、d i n t F(A&f1,B&f 2);pr i vat e:in t b;);i n t F(A&f 1 ,B&f2)r e turn(f 1 .a+f2.b)*(f 1 .af2.b);i nt m a i n()A n1(8);B n2(6);c o utF(n1,n 2)end I;re tu r n 0;)运营结果:28四、程序填空1 .下面的程序中定义抽象类Base 1 ,运用基类指针作函数形参调用虚函数,以实现动态联编o#i n c I ude u s in g n a m e sp a ce s t d;c la s s Basel/(1)基类 Bas e 1 定义pub

42、I i c:v i r t ua I v o id dis p I ay()c o n s t=0;/(2)纯虚函数(常成员函数)的定义;c I ass B ase 2:pub I ic Bas e 1/(3)基类 Base 1 的公有派生类 B ase2 定义 pu b lie:v o id displa y()co n s t ;);vo i d Base 2:d i sp I a y()c o n s t cout d i sp I ay();/(6 )用基类指针 p tr 调用虚函数 display()i nt ma i n()B ase2 ba s e 2;De r ived der

43、 i v e d;/(7)定义 De r i ve d 类对象f un(&base2);/(8)用B a s e 2对象的指针调用fu n函数fu n (&d e r i v e d);re t u rn 0;2.下面的程序是应用普通函数作为类的友元函数,以访问类中的私有成员。#in c Iud e usi n g namespace s t d;c I a ss T i me/(1)定义类 Time pub I ic:T im e (in t h,i nt m,i nt s);/(2)带三个整型形参的构造函数的原型声明fr iend void di s p I a y(Tim e&);/(3

44、)函数d is p la y声明为当前类的友元函数p r ivate:/(4)私有访问属性in t hour,m i n u te,se c ond;/(5)三个整型的数据成 员 h our,minu t e 和 second的定义);Time:T i me(in t h,in t m,in t s)hour=h;mi n ute=m;s e c ond=s;v o id di sp la y (T im e&t)c o u t t.h o u r n:n t.mi n u te :n t.s e co n de n d I;/(6)在同一行按hh:mm:s s格式输出三个数据成员的值,且输出

45、之后要换行。i nt ma i n()Time t1(1 0,1 3,5 6);/(7)用 10、13 和 56 作实参,定义对象 t1displ a y(1 1);/(8)用七1作实参调用友元函数d i sp I ayr e turn 0;)3.下面程序的功能是定义类sa m p le,并输出其数据成员,请填空:#i ncI u d e u s i ng namespace st d;class s a m p le/(1)类的定义 i n t m;s ta ti c i nt n;/(2)定义整型静态数据成员npub I ic:samp I e(in t i)n+;m =i;v o id

46、d i s p。/(3)成员函数d i s p的函数首部c o u t n F mHn n n 二 n e n d l;);in t s a m p le:n=0;/(4)为整型静态数据成员n赋初值0i nt m a i n()sam p Ie s 1 (3),s 2(4 );s1.d i sp 0;s 2.di s p 0;re t u rn 0;4.下面程序的功能是重载后置自增1运算符,以实现时钟对象增1操作。#incI u d e us i n g n a mespace std;class C lo c k pu b I ic:C I o ck(in t h=O,i n t m=0,i

47、n t s=0):h our(h),mi n u te(m),s eco n d(s)void showT i me()/(5)常成员函数 show T im e。的首部 c o u t h o u r :*m i n u te :=60)se c o n d%=60;m i n u t e+;i f (m i nu t e=60)m inut e%=60;hour=(hour+1 )%24;!r e tu r n o I d;/(7)函数的返回值i n t ma i n()C I ock m y Cl o ck(23,59,59);co u t F i r st time ou t pu t

48、:;myCI ock.s howTim e 0;cou t S how myC I oc k+:;myCI o ck+.sh o wTime();/(8)调用后置+重载函数并输出增1之前的对象的数据成员值r e t urn 0;5.下面是一段包含构造函数和析构函数的C+程序。#i nc I ud e#i n c I ude using nam e space s t d;class St ude nt/(1)定义类 Stude n t p u b I ic:/(2)类的对外接口Student(int n,s t r i ng nam,char s)/(3)构造函数的函数首部n u m=n;na

49、m e=nam;se x=s;cou t Co n str uctor i s ca I I ed.end I;Stu d e nt()/(4)析构函数的函数首部。coutD e s tructor i s ca I I e d.e n d I;v o i d displa y()(5)成员函数 display。的函数首部3 coutnum:nnumend I;3 c o utn a me:/37.构造函数在说明对象时自动执行。X 38.whi Ie 循环与dowhi Ie 循环执行过程完全相同。V 39.在多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类

50、的顺序。V 4 0.派生类中继承的基类成员的访问权限取决于继承方式。X 41.在对程序进行编译的过程中,会发现注释中的拼写错误。V 42.已知:int m=10;则 i nt&X=m;是对的的。V 4 3.C+语言允许使用友元,但是友元会破环封装性。V 4 4,预解决过程是编译过程之前进行的。X 45.C+语言中函数返回值的数据类型是由return语句后面的表达式的数据类型决定的。V 4 6.类与对象的关系和数据类型与变量的关系相同。X 47.成员函数一定是内置函数。V 48.构造函数在说明对象时自动执行。V 49.C+中引进了类和对象的概念,从而使得C语言发生质变,即从面向过程变成面向对象。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁