《C++语言程序设计》作业题_第1页
《C++语言程序设计》作业题_第2页
《C++语言程序设计》作业题_第3页
《C++语言程序设计》作业题_第4页
《C++语言程序设计》作业题_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+语言程序设计作业题一、判断题( )1 、写在类体内得函数都就是内联函数 .( ) 2、通常得拷贝初始化构造函数得参数就是某个对象得指针名。( )3 、重载运算符可改变原运算符得优先级与结合性。( ) 4、在设置了默认参数值后 , 调用函数得对应实参就必须省略。( )5 、析构函数就是一种函数体为空得成员函数。( )6 、某类得友元类得所有成员函数可以存取或修改该类中得私有成员。()7、对象数组得元素可以就是不同类得对象。()8、函数得参数个数、类型及位置都相同,只就是函数返回值类型不同 ,这不 就是重载函数。( )9、派生类就是从基类派生出来得,但它不能再生成新得派生类 .( )10、构造

2、函数与析构函数都不能重载 .( ) 11、在公有继承中 , 基类中只有公有成员对派生类得对象就是可见得。()1 2、t hi s指针就是一个指向正在被某个成员函数操作得对象得指针。( ) 13、一维对象指针数组得每个元素应该就是某个类得对象得地址值。()14、在C + +中,定义函数时必须给出函数得类型。( ) 15、析构函数就是一种函数参数表为空得成员函数。( ) 16、派生类得继承方式有两种:公有继承与私有继承。( ) 17、自身类对象得引用不可以作为该类得成员。( )1 8 、多重继承情况下 ,派生类中对基类成员得访问不会出现二义性 .( ) 19、可以在类得构造函数中对静态数据成员进行

3、初始化。( )20、多重继承情况下,派生类得构造函数得执行顺序取决于定义派生类时 所指定得各基类得顺序。()2 1、在单继承情况下,派生类中对基类成员得访问不会出现二义性。( ) 22、转换函数不就是成员函数,它就是用来进行强制类型转换得。()2 3、在公有继承中,基类中得保护成员对派生类对象就是可见得 .( ) 24、虚基类就是用来解决多继承中公共基类在派生类中只产生一个基类 子对象得问题。( )25、在保护继承中,基类中得公有成员对派生类对象就是可见得。( )2 6、抽象类就是指一些不能定义对象得类 .()27、虚函数就是用vi r t u al关键字说明得成员函数.( )28、动态联编就

4、是在运行时选定所要调用得成员函数得()2 9、声明派生类时,在派生类得头部都要明确列出其直接基类与间接基类。( ) 30、在 C+ 中对于运算符重载,只能重载已有得运算符 .( )31、在程序中可以直接调用构造函数。( )32、解决多继承情况下出现得二义性得方法之一就是使用作用域运算符 .( ) 33、函数重载就是一种多态现象 ,它属于动态联编。( ) 34、友元函数、友元类得声明可以放在类定义中得任何地方。()35、抽象类就是一些不能实例化得类,即不能定义对象得类。()3 6、con st对象不能随意被修改 但c onst成员函数可以修改const对象. ( )37、拷贝初始化构造函数得参数

5、只能就是对某个对象得引用。()3 8、类得公有静态成员既可以用类得对象访问,也可以用作用域运算符通 过类名访问。( )3 9、拷贝初始化构造函数得参数可以就是某类得对象名 .()40、在类体外定义得函数若没有关健字1 nline说明,则都就是外联函数。()41、C+中得所有函数调用都就是传引用调用。( )42、析构函数说明为虚函数就是没有意义得。()4 3、派生类得构造函数得成员初始化列表中可以包含基类得子对象初始化( ) 44、构造函数说明为虚函数就是没有意义得。( )45、对每个可重载得运算符来说,它既可以重载为友元函数,又可以重载 为成员函数,还可以重载为非成员函数 .()46、C+中得

6、所有函数调用都就是传值调用。()47、使用关键字class定义得类中,缺省得访问权限就是公有(publ ic) 得。()48、使用关键字c 1 ass定义得类中,缺省得访问权限就是私有(privat e) 得。( )49、如果一个成员函数只存取类得静态数据成员 ,则可将该成员函数说明 为静态成员函数。()50、说明与定义类得对象时,类名前面不需要加 class关键字.、填空1、如果一个函数没有返回值,定义时需用类型说明符说明。2、 通常得拷贝初始化构造函数得参数就是 。3、 对象成员得表示与结构体成员得表示相同,使用运算符_或。4、已知:p就是一个指向类A数据成员m得指针,a1就是类A得一个对

7、象,如果要给对象a 1得数据成员m赋值为5,应赋值。5、C +中,继承分为单继承与,而继承方式可分为 6、任何类中允许有三种类型得成员 ,它们分别就是 _7、能够用来访问当前作用域内与局部变量同名得全局变量。8在类内部定义得与成员不能被不属于该类得成员函数来存取定义为得成员则可以在类外部进行存取.9、 静态数据成员得赋初值就是在进行。10、 C +得函数如果在返回类型、参数类型、参数个数、_ 上有所不同,则认为就是不同得函数 (注:对于同名函数而言) 。1 1、如果不能成功地分配所需要得内存时,new返回。1 2、在编译时将所用函数得代码嵌入到主调函数中,这种函数称为。1 3、如果静态成员函数

8、中要引用非静态成员时,可通过来引用。14、当使用delete运算符释放一个对象时,del et e会自动调用。1 5、从一个基类派生得继承为单继承,从多个基类派生得继承为_。16、 多继承下 ,可能造成对基类中某个成员访问得 _。17、如果想要使公共基类在派生类中只产生一个基类子对象,则必须将这个基类设为。1 8、面向对象程序设计得三大特征就是封装性、继承性与 。19、多态从实现得角度来讲可以划分为两类,编译时得多态与 .2 0、将运算符+重载为类得友元函数时,定义前置+ +有个参数,而定义后置 +有_个参数.2 1、抽象类不能实例化,即不能定义一个抽象类得.22、 关键字、_、与在 C+中用

9、来建立新得数据类型。23、 定义在类内部得函数为,编译器会在调用该函数处,将函数代 码得拷贝在调用函数处展开 .24、 在类定义时如果没有定义构造函数,编译系统会自动生成一个25、 类得成员只能被该类得成员函数或友元访问。26、 使关键字c 1 ass定义得类中缺省得访问权限就是 。27、 一个类中只可能定义析构函数。28、当一个类得成员就是另一个类得对象时,该对象称为 。29、 静态数据成员在定义或说明时前面要加上关键字 _。3 0、C+程序必须包含头文件后,才能使用输入输出流。31、 在说明const变量时,必须对该变量。32、 在需要基类对象得任何地方都可以使用得对象来代替。33、 带有

10、纯虚函数得类就是。34、 动态联编可以通过或引用所标识得对象来操作虚函数.3 5、_限定符用来声明只读变量36、 公有成员函数得集合称为类得 _。37、 重载不能改变运算符得_与.3 8、运算符 _ _动态分配一个对象 .39、能够定义一个在不同数据类型基础上完成同一任务得函数。4 0、每个对象都维护了一个指向自身得指针,这个指针称为 旨针41、 处于同一层次得各基类构造函数得执行顺序取决于所指定得 各基类得顺序。42、_就是用来初始化类得数据成员得一种特殊得成员函数.4 3、受保护得成员不能被外界引用,但它可以被派生类得_ _ 引用。44、静态联编工作就是在 _ 阶段完成得。4 5、在C +

11、 +中,对虚函数来说,不能声明,但可以声明虚析构函数46、 员函数得实现中不能直接引用类中说明得非静态成员47、 c on st c ha r *p说明了 p就是指向得指针.48、 通常,类得成员函数得访问模式就是_ _ ,数据成员得访问模式就是 。49、当用受保护得继承从基类派生一个类时,基类得公有成员成为派生类得成员,基类得受保护成员成为派生类得 成员 .50、 如果一个类包含一个或多个纯虚函数,则该类为 。三、选择题1、下列有关类得说法不正确得就是 _。 类就是一种用户自定义得数据类型; 只有类中得成员函数或友元函数才能存取类中得私有成员 ; 在类中 ,如果不作特别说明 ,所有得数据均为

12、私有类型 ; 在类中,如果不作特别说明 ,所有得成员函数均为公有类型 ;2、局部变量可以隐藏全局变量,那么在有同名全局变量与局部变量得情形时 可以用 _ 提供对全局变量得访问 . 作用域运算符 指针运算符 提取运算符 插入运算符3、 类模板得使用实际上就是将类模板实例化成一个具体得_。 函数 对象 类类得成员4、 下列输出字符 d 得方法中, 是错误得. co ut p ut ( d); cout d; cout、p ut( d); ch ar a= d ; co utv a;5、 已知类A中一个成员函数说明为:v o id se t(A & a);,其中A &a得含意就是_。 指向类 A 得

13、指针为 a; 将a得地址值赋值给变量s et; a就是类A得对象引用,用来作函数s et ()得形参; 变量A与a按位相与作为函数set ()得参数;6、派生类得构造函数得成员初始化列表中,不能包含o 基类得构造函数 ; 派生类中子对象得初始化; 基类得子对象初始化; 派生类中一般数据成员得初始化 ;7、关于引用,下列得说法中错误得就是 o 引用就是给被引用得变量取一个别名; 引用主要就是用来作函数得形参与函数得返回值; 在声明引用时 , 要给它另开辟内存单元; 在声明引用时,必须同时使它初始化;8在下列说法中,会调用拷贝初始化构造函数。 当对象作为函数实参传递给函数形参时 ; 明确表示由一个

14、对象初始化另一个对象时; 用赋值运算符” =”将一个对象赋给另一个同类对象时 ; 当对象作为函数返回值时 ;9、就是不可以作为某类得成员得。 自身类对象得指针 自身类得对象 自身类对象得引用 另一个类得对象10、关于虚函数得描述中,就是正确得。 虚函数就是一个 static 类型得成员函数; 虚函数就是一个非成员函数; 基类中说明了虚函数后,派生类中与其对应得函数可不必说明为虚函数; 派生类得虚函数与基类得同名虚函数应具有不同得参数个数与类型;11、 下列四项选择中,不就是流类得对象。 cin co utbuff cer r12、 下列关于con st限定符得说法中,错误得就是。 co nst

15、限定符就是左结合得,即它修饰在它左边得类型; 在说明cons t变量时,必须对该变量进行初始化; 与宏定义符号常量得区别就是,co n s t将产生一个具有类型得符号; co n st 变量就是常量变量,所以一个 con st 变量可以被多次赋予不同得 常量;1 3、在下列得各类函数中,不就是类得成员函数。 构造函数 析构函数 友元函数 拷贝初始化构造函数14、不就是析构函数得特征。 一个类中只能定义一个析构函数 ; 析构函数名与类名相同; 析构函数只就是用来释放对象,所以析构函数就是空函数 ; 析构函数不指定数据类型,并且也没有参数;1 5、下述静态数据成员得特性中,就是错误得。 说明静态数

16、据成员时前面要加修饰符 stat i c ; 静态数据成员要在类体外进行初始化 ; 在程序中引用公有静态数据成员时,要在静态数据成员名前加v类名 与作 用域运算符 ; 静态数据成员就是个别对象所共用得;1 6、具有转换函数功能得构造函数,应该就是_。 不带参数得构造函数; 带有一个参数得构造函数; 带有两个以上参数得构造函数 ; 缺省构造函数 ;17、 下列继承方式中,种继承方式就是错得. 公有继承 ; 私有继承; 完全继承; 保护继承 ;18、 下列对继承关系得描述中,就是对得. 在公有继承中,基类中得公有成员与私有成员在派生类中都就是可见得; 在公有继承中 ,基类中只有公有成员对派生类得对

17、象就是可见得; 在私有继承中,基类中只有公有成员对派生类就是可见得 ; 在私有继承中,基类中得保护成员对派生类得对象就是可见得 ;1 9、对定义重载函数得下列要求中,就是错误得. 要求参数得个数不同 ; 要求参数中至少有一个类型不同; 要求参数个数相同时,参数类型不同 ; 参数个数与类型相同时 ,要求函数得返回值不同 ;20、当一个函数无返回值时,定义它时函数得类型应就是 _。 v o i d任意i n t无2 1、重载函数在调用时选择得依据中,错误得就是。 参数个数 参数得类型 参数得位置 函数得返回值类型22、 有关构造函数得说法不正确得就是 . 构造函数得名字与类得名字一样 ; 构造函数

18、在说明类得对象时自动执行; 构造函数无任何函数类型; 构造函数有且仅有一个;23、 下列得 就是函数得引用调用 . 形参就是指针 , 实参就是地址值; 形参就是变量,实参就是引用; 形参就是指针 , 实参就是数组名; 形参就是引用 , 实参就是变量;2 4、在一个被调用函数中,关于re t urn语句使用得描述,就是错误得. 被调用函数中可以不用 retu r n 语句; 被调用函数中可以使用多个 return 语句; 被调用函数中,如果有返回值,就一定要有r et urn语句; 被调用函数中,一个r e t u rn语句可返回多个值给调用函数;25、在C+中,关于下列设置参数默认值得描述中,

19、就是正确得。 不允许设置参数得默认值 ; 设置参数默认值只能在定义函数时设置 ; 设置参数默认值时,应该就是先设置右边得再设置左边得; 设置参数默认值时,应该全部参数都设置;26、 关于n ew运算符得下列描述中, 就是错误得。 它可以用来动态创建对象与对象数组 ; 使用它创建得对象与对象数组可以使用运算符 delete 删除; 使用它创建对象时要调用构造函数; 使用它创建对象数组时必须指定初始值;27、运算符 * 得功能就是 _ _。 用来表示指向对象指针对指向类成员指针得操作 ; 用来表示对象对指向类成员指针得操作 ; 用来表示指向对象指针对类成员得操作 ; 用来表示对象对类成员得操作 ;

20、28、在一个函数中,要求通过函数来实现一种不太复杂得功能,并且要求加快执行速度,选用合适。 重载函数 嵌套调用 减少空间 使用方便,提高可读性 内联函数 递归函数29、采用函数重载得目得在于 实现共享 提高速度30、下列函数中,不能重载 成员函数 非成员函数 析构函数 构造函数3 1、在下列关键字中,用以说明类中公有成员得就是 ”一起,将从键盘输入得数送到变量中保存起来; 使用标准输入流,必须包含头文件s t dl i b、h;3 4、就是构造函数得特征。 构造函数得函数名与类名不同 ; 一个类中只能定义一个构造函数; 构造函数可以设置缺省参数; 构造函数必须指定类型说明 ;35、 C +语言

21、中规定函数得返回值得类型就是由. r e tu r n语句中得表达式类型所决定; 调用该函数得主调用函数类型决定 ; 调用该函数时系统临时决定 ; 在定义该函数时所指定得函数类型所决定;36、 下列对派生类得描述中,就是错得。 一个派生类可以作为另一个派生类得基类; 派生类中继承得基类成员得访问权限到派生类保持不变; 派生类得成员除了它自己得成员外,还包含了它得基类得成员; 派生类至少有一个基类;37、带有虚基类得多层派生类构造函数得成员初始化列表中都要列出虚基类得构造函数,这样将对虚基类得子对象初始化。 与虚基类下面得派生类个数有关 ; 多次; 二次 ; 一次;3 8、关于继承中出现得二义性

22、得描述中, _就是错得 . 一个派生类得两个基类中都有某个同名成员,在派生类中对这个成员得访 问可能出现二义性; 解决二义性得最常用得方法就是对成员名得限定法 ; 在单继承情况下 ,派生类中对基类成员得访问也会出现二义性 ; 一个派生类就是从两个基类派生出来得 ,而这两个基类又有一个共同得基类 对该基类成员进行访问时 ,也可能出现二义性;3 9、已知 f1( )就是类 A 得公有成员函数, p 就是指向成员函数 f1( )得指针,采用 就是正确得 . p=f 1; p=A:fl; p =A: f 1 (); p=f1();40、关于动态联编得下列描述中,就是错误得. 动态联编就是以虚函数为基础

23、得; 动态联编就是在运行时确定所调用得函数代码得; 动态联编调用函数操作就是用指向对象得指针或对象引用 ; 动态联编就是在编译时确定操作函数得;41 、下面就是面向对象程序设计得特点,而 不就是得 . 多态性 封装性 隐藏性 继承性42、关于成员函数特征得下述描述中,就是错误得。 成员函数一定就是内联函数 ; 成员函数可以重载 ; 成员函数可以设置参数得缺省值; 成员函数可以就是静态得。4 3、关于delete运算符得下列描述中,就是错得. 它必须用于 new 返回得指针 ; 它也适用于空指针 ; 对一个指针可以使用多次该运算符 ; 指针名前只用一对方括号 ,不管所删除数组得维数 .4 4、设

24、置虚基类得目得就是 。 简化程序 ; 消除二义性 ; 提高运行效率; 减少目标代码 ;45、下列运算符中, 算符在C+中不能重载。 ? : + =4 6、下列关于运算符重载得描述中,就是正确得。 运算符重载可以改变运算数得个数 ; 运算符重载可以改变优先级 ; 运算符重载可以改变结合性; 运算符重载不可以改变语法结构 ;4 7、如果一个类至少有一个纯虚函数,那么就称该类为。 派生类 以上都不对48、 对基类与派生类得关系描述中,就是错误得。 派生类就是基类得具体化 ; 派生类就是基类得子集; 派生类就是基类定义得延续 ; 派生类就是基类得组合;49、已知:prin t()函数就是一个类得常成员

25、函数,它无返回值,下列表示中, 就是正确得。 c o nst v oi void p r in t(co就是可以访问得。 v o id pr i nt () con std p rint () vo id co ns t p r int ()n s t)5 0、派生类得对象对它得基类成员中, 公有继承得私有成员 私有继承得公有成员 公有继承得公有成员 ; 公有继承得保护成员; 四、简答题1、什么叫做静态成员函数?它有何特点?2、在继承体制中,试分析基类中某成员函数就是虚函数与不就是虚函数有何 不同?3、试解释纯虚函数与函数体为空得虚函数得相似及不同之处.4、为什么说C+ +中得运算符 与就是重

26、载得运算符?5、什么就是动态联编?在什么情况下可以实现动态联编 ?6、拷贝初始化构造函数就是一特殊得成员函数 ,在什么情况下系统会自动调用 它?7、多继承下,可能造成对基类中某个成员访问得不唯一性,称为对基类成员访问得二义性问题。试举例说明 ,多继承时,在什么情况下会产生二义性?8、如果在类模板得定义中有一个静态数据成员,则在程序运行中会产生多少 个相应得静态变量?9、派生类得对象可以赋给基类对象,反过来行吗 ?为什么?10、构造函数可以就是虚函数吗 ?试说明.五、写出下列程序得运行结果1、 #in c lu d e iostrea m、hc 1 ass A pu blic :A (int i

27、 = 0) m=i;cout ” C on s t r uctor c a lled、 m ven dl;v oid set (int i) m=i ;void p ri nt( ) c onst? c out v mv endl ;A( ) c o ut” D e s t ru c tor called、” e ndl; pri v ate:i nt m;;v o id fu n (co ns tA&c ) c、pr i nt( );vo id main( ) fun (5) ;Ans:Constr uctor ca11 ed、 55Des truct o r ca1 led、2、#i nc

28、 1 ude iost re am、hc lass A public:?A() a=0;b= 0;co utvvDe fau lt con structo r c alle d、” e nd1;A(in t i, int j ) a= i ;b=j;?c outv ” Constructor :a=a ,b=” b endl;?A( ) coutV Des t ru ct or cal le d、v en d I; voi d se t (int i, i n t j) a= i; b=j ;void print ( )? cout ” a= vv a vh , b=” b V endl; p

29、ri v ate:i n t a, b;void main( ) A a 3 ;f o r(in t i= 0 ; i 3; i+ +)? ai、 se t(2*i+1,(i+1)*2 ) ;?ai、 prin t( );A ns :Default co nstructor called、Defa u lt c o ns t ructor call ed、Defa u lt con s truc t or called、a=1 , b=2a=3, b= 4a = 5 ,b=6De s t r uctor cal l ed、D est r uct o r called、Des tructor c

30、a ll ed、3、#i nclud e io stream、 h”cl as s B pu bl ic:B( ) B(int i,in t j)? a=i, b = j; ?void p r intb( ) ;pr i va te:in t a, b;;cla s s A p ubl ic :A ( ) A(in t i , i nt j ):c(i ,j) ?v oid print a ();pr iva t e:?B c;;void B: : p ri n tb () c out” a=av”, b=” v b vendl; void A: :printa ( ) c、p rin tb

31、();voi d main () A ob (7 ,8);ob、 pr int a( );Ans: a=7,b=84、#i n cl u de iostream、hc 1 ass A p ub 1 ic:A (in t i, i nt j) x = i; y=j; f riend i n t fu n( A & a);priv at e:?in t x, y;;int fun (A &a) a、 x=a、 x a、 y;return a、x;void main( ) A ob 1 (4, 7) ,ob 2 (5,9);co ut f u n(ob 1 ) v,f u n (ob2)v endl

32、;A n s:2 8, 4 55、#i n c lu de io s t r eam、hc l a ss A pu bl ic:A(i n t i, in t j) a= i; b = j; v o id mo v e (i nt i, i n t j) a+=i; b + = j; ? void di s p( )cou t ( av”,vb”) vve ndl;pr iv at e:i nt a, b ;;c lass B: pu b l i c Ap ublic :B( int i, int j,i n t k, i n t l):A(i , j) , x( k), y (l) vo i

33、 d di s p( ) coutx v”,yd is p();?B d(3,4,5,6);?d、 fun ( );d、A: disp( ); d、 disp( ) ;An s :(1,2 )(6,9 )5,66、#inelude ” io s tream、hc la ss A pub l i c :void s eta( int x )voi d showa( )a=x ;c out av ”;pri v at e:int1a;cl ass B public:voi dsetb(i nt x)b =x; voi dsh owb( )cou tVVbV;priva te : int b;cla

34、 ss C: publicA,p u blic Bp ublic:vo id setc(i n t x, int y.i n t z)c= z;seta(x) setb(y);voi d s how c () showa ();sh ow b ();co utc ” aendl;p rotected:char a;cl ass P 1: p ub lic J public:P1(int i , int j): J (i, j ) p = i+j; dis p la y ( );void display( ) cout vv P1:displ a y( ) ca l led、”v pv end

35、l; priv ate:int p;v o id ma in () P 1 o b(1 4,7);A ns:J:display() calle d、bP1:display() called、21Press any key to continue8、#includeo“s tr eam、h”class number public:number() count+; number( ) cou nt - ;static int HMS( ) return count;p rivate :static int count;;i nt num b er: : cou n t= 2 0;v o id ma

36、i n() n umber al, a 2 , a3, a4;cou t nu mb e r: :HM S( ) v endl;a 1、n umber ();cout nu mbe r :HMS ( ) vendl;A n s:24239、# inc 1 ude ?class A ?i nt a , b ;pub lie :A() a=b = 0;A(int aa,int bb) a=a a; b=bb; ?cout va v vvbvve nd1; ?;?v oid m ain()? ?A x, y( 2, 3), z (4,5);234 5?10 、# i ncl u de ?class

37、FOO public :F O O(int i) cout Const r ucting、n; ?poin te r=ne w i n t;*p o in t er=i; ?F OO (const FO O& other) e out ” Copy Con struct in g、n ;po in ter =n ew i n t;?*p o i nt er=*o t he r、poin ter ;?FO O() ?c o ut ”Des tructi n g n ; ?del e te po i nter ;? ? in t get () re tu rn poi nte r;p rivat

38、e: ?intpoin ter;; ?void disp 1 ay(FOOo bj) cou tvvo b j、g et()elass Apublie:i nt n;;c l a ss B: p u blic A;class C: p u b lic A ;class D:pub1 ic B,pub1 ic Cint getn () retur n B : n;;void main( )D d;d、B: : n =10;d、C:n = 2 0;cou td、B: :nclass Aprivate:sta ticint n;int X;p ub li c:A(in t x = 0) X=x; n

39、+ +;A() n ;stati c int GetNu m () return n; voi d print( ) ;;e ndl ; void A: print () co ut ” n= v n v ”,X= Xin t A: : n = 0; void main () A * p = new A(12);pprint();A a( 3 4);a、pri nt();delete p;co ut n = vv A: : GetN u m ()c l a ss Sample pr i vate:int i ;static i nt count;pu bli c :Sam pl e( );?v

40、oi d d ispla y( ) ;Sample: S ampl e()i= 0 ;cou nt +;v o id Sampl e: : d isplay( )%out i= i + + v , c oun t =c ou nt hcl as s Bas e1pu b li c :? v irtual;v oi ddispl a y( ) co nst ; ?void Ba se 1: :dis pla y () const cout Base1 :di sp 1a y () J vo i d B ase2 : : d isp 1 ay() c o nst cout displ a y( )

41、 ; ? vo i d mai ?Base1 base?Ban () 1; ?s e2 b as e 2; ? r ived deri v e d; ? f un (& base 1 )(&bas e 2); ?fun( & d e ri ve运行结果:?De?fund) ; ?Base1:d i spla y ()B a se 2: : displ a y()D e r i v e d : : d i s p lay ()1 5。用一句话概括下面程序得功能,并在”/”后加上注释。#includ e iost r eam、 h# i n c lu d e” i tream、hv o id m

42、ain ()?char ch;ifs t re am m y i n (” ”);if (! myi n )/cou t cannot op e n f ile:;of st re a m m you t ();co uyout)t v ”a nn o t open file :?vhile (my in、get(c h )?m y out、p ut(ch) ;/ /.?m y i n、c los e ();?m y ou t、clo s e();功能:功能就是:将文件得内容复制到文件中。(3分)注释:判断就是否可以打开文件,myin= 0为不可以,m y in=1为可以。(1分)注释:向文件

43、读、写数据。(1分)16 c lass Bas e? ? pub l ic :? vi rtual voi d fn (i nt x)? co u t v In Ba se cl a ss , i nt x =v xe n dl;;c lass S ubC lass : public Basep ublic :vir tu al v oid fn( in t f)? c o ut v In SubClas s, int f = ” f endl;?;vo id test ( Ba se &t)?t、f n(5、5);vo id m a in ()? Bas e b ;SubCl as s s;

44、? b、fn(1 0 );s、 fn ( 5 、 5)cou t v ”n Ca l l ing t e st ( b):n te s t (b );cou t nC a lli n g test (s): n; test ( s) ;Ans:In Base class,in t x=10I n SubC l ass,i nt f= 5Calling t est( b) :In Base class, int x =5Cal ling test(s):I n SubC l a s s, int f = 5Pr e ss any k e y to c o n t i nu e ?六、简答题1 什么叫函数重载?重载得函数要满足什么条件? 仅函数得返回值类型不同可以进行函数重载吗?2简述面向对象技术得四个基本特征。3 简述面向对象技术支持得四种多态性 .4 试解释纯虚函数与函数体为空得虚函数得相似及不同之处。5。若派生类与其基类中有同名成员,试图通过派生类对象访问该同名成员时,可访问到得就是派生类中得还就是基类中得成员?跟据上述理解,分析下面得类体系。Cl a ss A Publ ic: in t i;Vo id f(float);c lass B: public A pu bli c: int i;v o id f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论