欢迎来到天天文库
浏览记录
ID:35275385
大小:132.50 KB
页数:13页
时间:2019-03-22
《C++面向对象程序设计模拟试题3及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++面向对象程序设计模拟试题三一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.下面有关重载函数的描述中,正确的是(c)。A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同C)重载函数一般具有不同的形参表D)重载函数名可以不同2.假定MyCIass为一个类,那么下列的函数说明中,(d)为该类的析构函数。A)void~MyClass();B)~MyClass(intn);C)MyClass();D)~MyClass
2、();3.(a)是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。A)模板B)类C)对象D)函数4.下面关于静态成员函数的途术中错语的是(b)。A)静态成员函数可以有返回值B)静态成员函数含有this指针C)静态成员函数可以具有指针参数D)静态成员函数可有具有返回值类型5.定义类模板时要使用关键字(d)。A)privateB)publicC)deleteD)template6.下列是重载乘法运算符的函数原型声明,其中错误的是(a)。A)friendMyClassoperator*(double,double);B)fr
3、iendMyClassoperator*(double,MyClass);C)friendMyClassoperator*(MyClass,double);D)friendMyClassoperator*(MyClass,MyClass);7.以下(c)成员函数表示纯虚函数。A)virtualintfun(int)B)voidfun(int)=0C)virtualvoidfun()=0D)virtualvoidfun(int){}8.关于纯虚函数,下列表述中正确的是(c)。A)纯虚函数的声明不一定以"=0"结束B)含有纯虚函数的类可以定义对象C
4、)含有纯虚函数的类是抽象类D)上面都是错误的9.(c)解决二义性问题。A)只能使用作用域分辨操作符B)只能使用虚基类C)使用作用域分辨操作符或虚基类D)上面都不能10.实现编译时的多态性要使用(a)。A)重载函数B)析构函数C)构造函数D)虚函数二、填空题(本大题共5小题,每小题2分,共10分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。1.定义一个函数名为fun,返回值为int,没有参数的纯虚函数的声明是(virtualintfun()=0;)。2.定义静态成员函数应使用关键字(static)。3.在C++中,如果类的名称
5、是CTest,则此类的构造函数名称为(CTest)。4.在类的对象被创建时,(构造函数)函数会被自动调用。5.用class声明的类中数据成员和成员函数的默认访问级别为(private)。三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。1.阅读下面程序,写出输出结果。#includeusingnamespacestd;classA{public:A(){cout<<"A()"<6、ep;cout<<"end"<usingnamespacestd;classArray{private:int*elem;intsize;public:Array(inta[],intsz):elem(a),size(sz){}intGetSize()const{returnsize;}int&operator[](intpos){returnelem[pos-1];}};intmain(){7、inta[]={1,2,3,4,5};Arrayar(a,5);ar[1]=8;for(inti=1;i<=ar.GetSize();i++)cout<usingnamespacestd;classA{public:virtualvoidShow()const{cout<<"A"<8、endl;}};voidFun1(Aobj){obj.Show();}voidFun2(constA&obj){obj.Show();}intmain
6、ep;cout<<"end"<usingnamespacestd;classArray{private:int*elem;intsize;public:Array(inta[],intsz):elem(a),size(sz){}intGetSize()const{returnsize;}int&operator[](intpos){returnelem[pos-1];}};intmain(){
7、inta[]={1,2,3,4,5};Arrayar(a,5);ar[1]=8;for(inti=1;i<=ar.GetSize();i++)cout<usingnamespacestd;classA{public:virtualvoidShow()const{cout<<"A"<8、endl;}};voidFun1(Aobj){obj.Show();}voidFun2(constA&obj){obj.Show();}intmain
8、endl;}};voidFun1(Aobj){obj.Show();}voidFun2(constA&obj){obj.Show();}intmain
此文档下载收益归作者所有