教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

C++面向对象程序设计模拟试题完成(2)

来源:网络收集 时间:2026-08-26
导读: C++面向对象程序设计模拟试题三 一、单项选择题(本大题共10小题,每小题2分,共20分) 1.下面有关重载函数的描述中,正确的是( )。 A)重载函数必须具有不同的返回值类型 B)重载函数形参个数必须不同 C)重载

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 // 预处理命令 using namespace std; // 使用标准命名空间std // 测试静态成员类 class Test {

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 // 预处理命令 using namespace std; // 使用标准命名空间std // 整数类 class Integer {private: int a; // 数据成员

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 // 预处理命令 using namespace std; // 使用标准命名空间std template class A {private: ElemType a; // 数据成员 public: A(ElemType x): a(x){ } // 构造函数 void Show() const { cout << a << endl; } // 显示a之值 };

int main(void) // 主函数main(void) { A< [3] > obj(\ // 定义对象 obj.Show(); // 显示相关信息 return 0; // 返回值0, 返回操作系统 }

四、程序分析题(本大题共4小题,每小题5分,共20分)给出下面各程序的输出结果。 1.阅读下面程序,写出输出结果。 #include // 预处理命令 using namespace std; // 使用标准命名空间std class Point {private: int x; // x坐标 int y; // y坐标 public: Point(int a = 0, int b = 0):x(a), y(b){} int GetX() const { return x; } int GetY() const { return y; } void SetX(int a) { x = a; } void SetY(int b) { y = b; } };

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 // 预处理命令 using namespace std; // 使用标准命名空间std class Array {

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 using namespace std; class A {public: A(){ cout << \构造A\ ~A(){ cout << \析构A\};

class B: public A {public: B(){ cout << \构造B\ ~B(){ cout << \析构B\};

int main(void) { B obj; A *p = new A; return 0; }

上面程序的输出结果为:

4.阅读下面程序,写出输出结果。 #include using namespace std; template ElemType f(ElemType x) { return x * (ElemType)5.1; }

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

C++面向对象程序设计模拟试题完成(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404696.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)