面向对象程序设计复习题纺院.docx
- 文档编号:11973114
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:20
- 大小:20.49KB
面向对象程序设计复习题纺院.docx
《面向对象程序设计复习题纺院.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题纺院.docx(20页珍藏版)》请在冰豆网上搜索。
面向对象程序设计复习题纺院
面向对象程序设计(复习题)
一、填空题
1.类是一种用户定义的类型,它由两大成员组成,其中用数据成员来描述同类事物的属性,用函数成员来描述它们的行为。
2.C++语言面向对象程序设计有三大基本特性,其中二个是
继承、多态性(或数据封装)。
3.基类的私有成员不能被继承、保护成员能被继承、公有成员能被继承。
4.利用一个现有的类来生成一个新类的机制称为继承。
5.在C++中,函数的用法涉及到两个方面:
定义函数是建立函数,调用函数是使用函数。
6、__析构函数___是特殊的成员函数,在对象作用域结束时自动调用。
7、友元关系是非传递的和_非对称的____,除非特别声明,否则,通常情况下若F是A的友元,A__不是___F的友元。
8、运算符函数既可以重载为_成员__函数,也可以重载为友元函数。
9、在具有继承关系的类层次结构中,构造函数的执行顺序是:
_基类__、_类对象成员__、派生类。
10、具有纯虚函数的类称为__抽象类___。
11、类的数据隐藏是通过定义成员为private或protected来实现。
二、是非题(回答“Y”或“N”)
1、.构造函数的名字与类的名字相同。
(Y)
2、插入运算符<<不能重载。
(N)
3、.要实现动态联编,必须使用基类指针调用虚函数。
(Y)
4、cin是ostream类的对象。
(N)
5、类模板就是模板类。
(N)
6、类模板就是模板类。
(N)
7、友员函数通过this指针访问对象成员。
(N)
8、构造函数的名字与类的名字相同。
(Y)
9、类的protected成员是不能被继承的。
(N)
10、运算符重载后其原有的基本语义不变。
(Y)
11.构造函数的名字不必与类的名字相同。
(N)
12.一个类的友员函数可以使用该类的私有成员。
(Y)
13.符号<<不能重载。
(N)
14.析构函数没有返回类型。
(Y)
15.类TEST的函数成员TEST(constTEST&obj)称为拷贝构造函数。
(Y)
16.类B继承了类A,二个类都有public成员voidshow(),则派生类的voidshow()覆盖了基类的voidshow()。
(Y)
17.函数重载是动态绑定。
(N)
18.类模板不能直接生成对象。
(Y)
19.类属函数的实例化是隐式。
(Y)
三.选择题
1.下列虚基类的声明中,正确的是(D)。
A).classvirtualD:
publicBB).virtualclassD:
publicB
C)classD:
publicBvirtualD)classD:
virtualpublicB
2.下列关于运算符重载的描述中,(D)是正确的。
A)可以改变参与运算的操作数个数B)可以改变运算符原来的优先级
C)可以改变运算符原来的结合性D)不能改变原运算符的语义
3.假设baseClass为抽象类,则下列(B)声明是正确的。
A)baseClassfun(int);B)baseClass*bp;
C)intfun(baseClass);D)baseClassobj;
4.下面对模板的声明中,正确的是(C)。
A)template
C)template
5.要求打开文件D:
\file.dat,可写入数据,正确的语句是:
(D)
A)ifstreaminfile(“D:
\file.dat”,ios:
:
in)B)ifstreaminfile(“D:
\\file.dat”,ios:
:
in)
C)ofstreaminfile(“D:
\file.dat”,ios:
:
out)D)fstreaminfile(“D:
\\file.dat”,ios:
:
in|ios:
:
out)
6.填空选择
#include
classBase
{
public:
voidprint(){cout<<”Base:
:
print”< }; classDerived: publicBase { voidprint() { ___(B)________;//显式调用基类的函数print() cout<<”Derived: : print”< } }; A.)print()B)Base: : print()C).Base.print()D)Base->print() 7.下面的描述中,正确的是(C)。 A)虚函数是一个静态成员函数; B)虚函数是一个非成员函数; C)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型; D)虚函数可以在函数说明时定义,也可以在函数实现时定义。 8.下面函数原型声明中,(B)声明了fun为纯虚函数。 A)voidfun()=0;B)virtualvoidfun()=0; C)virtualvoidfun();D)virtualvoidfun(){}; 9.建立类模板对象的实例化过程为(C)。 A)基类->派生类B)构造函数->对象 C)模板类->对象D)模板类->模板函数 10.在下列选项中,(A)不是ostream类的对象。 A)cinB)cerrC)clogD)cout 11.假设SampleClass为抽象类,则下列(B)声明是正确的。 A)SampleClassfun(int);B)SampleClass*bp; C)intfun(SampleClass);D)SampleClassobj; 12.下面对模板的声明中,正确的是(B)。 A)template C)template 13.要求打开文件D: \file.dat,可写入数据,正确的语句是: (D) A)ifstreaminfile(“D: \file.dat”,ios: : in)B)ifstreaminfile(“D: \\file.dat”,ios: : in) C)ofstreaminfile(“D: \file.dat”,ios: : out)D)fstreaminfile(“D: \\file.dat”,ios: : in|ios: : out) 14.下面对友元的错误描述是(D). A)关键字friend用于声明友元 B)一个类中的成员函数可以是另一个类的友元。 C)友元函数访问对象的成员不受访问特性的影响 D)友元函数通过this指针访问对象成员 15.下列虚基类的声明中,正确的是(A)。 A).classB: virtualpublicAB).virtualclassB: publicA C)classB: publicAvirtualD)classvirtualB: publicA 16、不论派生类以何种方式继承基类,都不能使用基类的( B ) A)public成员 B)private成员 C)protected成员 D)public和protected成员 17.下面函数原型声明中,(B)声明了show()为纯虚函数。 A)voidshow()=0;B)virtualvoidshow()=0; C)virtualvoidshow();D)virtualvoidshow(){}; 18.在下列选项中,(A)不是ostream类的对象。 A)cinB)cerrC)clogD)cout 四、阅读程序,写出下列程序的运行结果 1.#include template classbase {public: base(Ti,Tj){x=i;y=j;} Tsum(){returnx+y;} private: Tx,y; }; voidmain() {base cout< base cout< } 运行结果: 8.8 8 2. #include classcounter {public: voidsetnum(inti){num=i;} voidshownum(){cout< staticintnum; }; intcounter: : num=1; voidmain() {inti; for(i=0;i<5;i++) {counter: : num+=i; cout< : num<<'\t'; } cout< } 124711 3.#include usingnamespacestd; classA {public: intf1(); intf2(); voidsetx(intm){x=m;cout< voidsety(intn){y=n;cout< intgetx(){returnx;} intgety(){returny;} private: intx,y; }; intA: : f1(){returnx+y;} intA: : f2(){returnx-y;} intmain() {Aa; a.setx(10);a.sety(5); cout< cout< } 解答: 10 5 105 155 4.#include Template voidfun(T&x,T&y) {Ttemp; temp=x;x=y;y=temp;} voidmain() {inti,j; i=10;j=20; fun(i,j); cout<<”i=”< doublea,b; a=1.1;b=2.2; fun(a,b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 复习题