C++面向对象程序设计模拟试题完成(2)
C++面向对象程序设计模拟试题三
一、单项选择题(本大题共10小题,每小题2分,共20分) 1.下面有关重载函数的描述中,正确的是( )。
A)重载函数必须具有不同的返回值类型 B)重载函数形参个数必须不同 C)重载函数必须具有不同的形参表 D)重载函数名可以不同 2.假定MyCIass为一个类,那么下列的函数说明中,( )为该类的析构函数。 A)void~MyClass(); B)~MyClass(int n); C)MyClass( ); D)~MyClass( ); 3.( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。 A)模板 B)类 C)对象 D)函数 4.下面关于静态成员函数的途术中错语的是( )。
A. 静态成员函数可以有返回值 B. this指针可以指向静态成员函数 C. 静态成员函数可以具有指针参数 D. 静态成员函数可有具有返回值类型 5.定义类模板时要使用关键字( )。A. private B. public C. delete D. template 6.下列是重载乘法运算符的函数原型声明,其中错误的是( )。 A)MyClass operator*(double,double);B)MyClass operator*(double,MyClass);
C)MyClass operator*(MyClass,double); D)MyClass operator*(MyClass,MyClass); 7.以下( )成员函数表示纯虚函数。 A)virtual int fun(int) B)void fun(int)=0 C)virtual void fun()=0 D)virtual void fun(int){} 8.关于纯虚函数,下列表述中正确的是( )。 A)纯虚函数的声明总是以\结束 B)含有纯虚函数的类可以定义对象 C)含有纯虚函数的类是抽象类 D)上面都是错误的 9.( )解决二义性问题。A. 只能使用作用域分辨操作符 B. 只能使用虚基类
C. 使用作用域分辨操作符或虚基类 D. 上面都不能
10.实现编译时的多态性要使用( )。A)重载函数 B)析构函数 C)构造函数 D)虚函数 二、填空题(本大题共5小题,每小题2分,共10分)
1.定义一个函数名为fun,返回值为int,没有参数的纯虚函数的声明是( )。 2.定义静态成员函数应使用关键字( )。
3.在C++中,如果类的名称是CTest,则此类的构造函数名称为( )。 4.在类的对象被创建时,( )函数会被自动调用。 5.类中数据成员和成员函数的默认访问级别为( )。 三、完成程序填题(本大题共3个小题,每小题3分,共9分) 1.请完成下面的程序 #include
private: [1] Test int count; // 对象数
public: Test(){ count++; } // 构造函数, 实现对对象进行计数 static void Show(){ cout << \共有\个对象!\ // 显示对象数 };
int Test::count = 0; // 初始化静态数据成员赋初值 int main(void) // 主函数main(void) { Test obj1, obj2, obj3; // 定义对象 Test::Show(); // 显示对象数 return 0; // 返回值0,返回操作系统 }
2.请完成下面的程序 #include
public: Integer(int x = 0){ a = x; } // 构造函数 operator int() { return a; } // 类型转换函数 Integer operator+(const Integer &i) const // 重载加法运算符+ { return [c2] ; // 返回和 } };
int main(void) // 主函数main(void) { Integer a(2), b(3), c; // 定义整数对象 c = a + b; // 求和 cout << c << endl; // 显示和 return 0; // 返回值0, 返回操作系统 }3.请完成下面的程序 #include
int main(void) // 主函数main(void) { A< [3] > obj(\ // 定义对象 obj.Show(); // 显示相关信息 return 0; // 返回值0, 返回操作系统 }
四、程序分析题(本大题共4小题,每小题5分,共20分)给出下面各程序的输出结果。 1.阅读下面程序,写出输出结果。 #include
int main(void) { Point obj1; const Point obj2(9, 98); cout << obj1.GetX() << endl; obj1.SetX(5); cout << obj1.GetX() << endl; obj1.SetY(18); cout << obj1.GetY() << endl; cout << obj2.GetX() << endl; cout << obj2.GetY() << endl; return 0; // 返回值0,返回操作系统 }
上面程序的输出结果为:
2.阅读下面程序,写出输出结果。 #include
private: int *elem; // 数组元素存储空间 int size; // 数组元素个数 public: Array(int a[], int sz): elem(a), size(sz){ } // 构造函数 int GetSize(){ return size; } int &operator[](int pos){ return elem[pos - 1]; } // 重载下标运算符[] };
int main(void) { int a[] = {1, 2, 3, 4, 5}; Array obj(a, 5); obj[1] = 8; for (int i = 1; i <= obj.GetSize(); i++) cout << obj[i] << \ \ cout << endl; return 0; }
上面程序的输出结果为:
3.阅读下面程序,写出输出结果。 #include
class B: public A {public: B(){ cout << \构造B\ ~B(){ cout << \析构B\};
int main(void) { B obj; A *p = new A; return 0; }
上面程序的输出结果为:
4.阅读下面程序,写出输出结果。 #include
template
void f(ElemType x, ElemType y) { x = x * 1.1; y = y * 1.1; cout << x << endl; cout << y << endl;
// 依次输出数组各元素之值 // 返回值0, 返回操作系统 // 预处理命令 // 使用标准命名空间std // 构造函数 // 析构函数 // 构造函数 // 析构函数 // 返回值0, 返回操作系统 // 预处理命令 // 使用 …… 此处隐藏:3626字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




