C++面向对象程序设计试题带答案(一).docx

上传人:cn****1 文档编号:548098326 上传时间:2023-03-10 格式:DOCX 页数:7 大小:19.15KB
返回 下载 相关 举报
C++面向对象程序设计试题带答案(一).docx_第1页
第1页 / 共7页
C++面向对象程序设计试题带答案(一).docx_第2页
第2页 / 共7页
C++面向对象程序设计试题带答案(一).docx_第3页
第3页 / 共7页
C++面向对象程序设计试题带答案(一).docx_第4页
第4页 / 共7页
C++面向对象程序设计试题带答案(一).docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C++面向对象程序设计试题带答案(一).docx》由会员分享,可在线阅读,更多相关《C++面向对象程序设计试题带答案(一).docx(7页珍藏版)》请在金锄头文库上搜索。

1、C+面向对象程序设计模拟试题一一、单项选择题(本大题共10小题,每小题2分,共20分1. 说明虚函数的关键字是()。A. inline B.virtualC. defineD. static2. 在每个C+程序中都必须包含有这样一个函数,该函数的函数名为()。A. mainB. MAINC. nameD. function3. cout是某个类床淮对象的引用,该类是( )。 A.ostream B. istream C. stdout D. stdin4. 如果在类外有函数调用CPoint:func();则函数func ()是类 CPoint 的( )。A.私有静态成员函数B.公有非静态成员函

2、数C.公有静态成 员函数 B.友元函数5. 如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为()A. publicB. protected C. private D. static6. 一个类的所有对象共享的是()。A.私有数据成员B.公 有数据成员C.保护数据成员 D.静态数据成员7. 动态联编所支持的多态性称为 )。A.虚函数B.继承C. 编译时多态性 D.运行时多态性8. 定义类模板时要使用关键字()。A. const B. newC. delete D. template9. 对虚基类的定义)。A.不需要使用虚函

3、数B.必须使用虚函数C.必须使用privatD.必须使用public10. 类型转换函数()。 A.不能带有参数 B.只能带一个参数 C.只能带2个参数D.只能带3个参数二、判断正误题(本大题共6小题,每小题2分,共12分)1. 虚函数在基类和派生类之间定义,且要求函数原型完全一致。()2. 抽象类可以用来直接创建对象。()3. 内联函数中可以出现递归语句。()4. 模板类与类模板的意义完全相同。()5. 常对象只能调用常成员函数。()6. 重载函数要求函数有相同的函数名,但具有不同的参数序列。()三、填空题(本大题共6小题,每小题2分,共12分)1. 在用C+进行程序设计时,最好用()代替m

4、alloc。2. 函数模板中紧随template之后尖括号内的类型参数都要寇以保留字()。3. 编译时多态性可以用()函数实现。4. 拷贝构造函数用它所在类的()作为参数。5. 用关键字static修饰的类的成员称为()成员。6. 重载运算符“+”的函数名为()。四、程序分析题(本大题共4小题,每小题5分,共20分)给出下面各程序的输出结果。1. 阅读下面程序,写出输出结果。#include using namespace std;class CArray(public:CArray(int iArray, int iSize):m_pArray(iArray),m_iSize(iSize)(

5、 int GetSize()( return m_iSize;int &operator(int ilndex)( return m_pArrayiIndex - 1;private:int *m_pArray; /指向一个数组空间int m_iSize;/数组元素个数;int main()( int s = (3, 7, 2, 1, 5;CArray oArray(s, 5);oArray1 = 9;for (int i = 1; i = 5; i+)( cout oArrayi cout endl;return 0;上面程序的输出结果为:2. 阅读下面程序,写出输出结果。#include

6、using namespace std;template void Print(Type a, int n)( for (int i = 0; i n; i+)( cout ai ;int main()( int a = ( 5, 6, 8;double b = 6.8, 9.6;Print(a, sizeof(a) / sizeof(int);Print(b, 2); cout endl;return 0;上面程序的输出结果为:3. 阅读下面程序,写出输出结果。#include using namespace std; class CTestpublic:CTest(int iVar):m_

7、iVar(iVar) m_iCount+;CTest() void Print() const;static int GetCount()return m_iCount;( private:int m_iVar;static int m_iCount;;int CTest:m_iCount = 0;void CTest:Print() const( cout m_iVar m_iCount ; int main()( CTest oTest1(6);oTest1.Print();CTest oTest2(8);oTest2.Print();cout CTest:GetCount();cout

8、endl;return 0;上面程序的输出结果为:4. 阅读下面程序,写出输出结果。#include using namespace std;class CTest(public:CTest(int iX = 0, int iY = 0, int iZ = 0):m_iZ(iZ) (m_iX = iX;m_iY = iY;void Print()(cout m_iX endl;cout m_iY endl;void Print() const(cout m_iZ endl;private:int m_iX, m_iY;const int m_iZ;;int main()( CTest oTes

9、tl;oTest1.Print();CTest oTest2(1, 6, 8);oTest2.Print();const CTest oTest3(6, 0, 18);oTest3.Print();cout endl;return 0;上面程序的输出结果为:六、编程题(本大题共2个小题,每小题8分,共16分)1. 编写一个函数模板,用于求参数的绝对值,并编写测试程序进行 测试。函数模板声明如下:template Type Abs(Type tVar)2. 定义一个复数类CComplex,定义带有2个参数(其中一个为缺省 参数)的构造函数,显示复数值的函数Show(),重载“+”运算符 (用成员

10、函数实现),并编写测试程序进行测试。C+面向对象程序设计模拟试题一参考答案一、单项选择题 1. B 2.A 3.A 4. C 5. C 6. D7. D 8. D 9. A 10. A二、1.参考答案:/2.参考答案:x3.参考答案:x4.参考答案: x5.参考答案:/6 .参考答案:/三、填空题1.参考答案:new2.参考答案:class或typename3.参 考答案:重载4.参考答案:对象5. 参考答案:静态6.参考答案:operator+四、1.参考答案:9 7 2 1 52. 参考答案:5 6 8 6.8 9.63. 参考答案:6 1 8 2 24. 参考答案:0 0 1 6 18六

11、、编程题(本大题共2个小题,每小题8分,共16分)1. 参考程序:#include using namespace std;template Type Abs(Type tVar)(if (tVar = 0) return tVar;else return -tVar;int main()(cout Abs(5) endl;cout Abs(-5) endl;cout Abs(2.5) endl;cout Abs(-2.5) endl;return 0;2. 参考程序:#include using namespace std;class CComplex(public:CComplex(dou

12、ble dReal, double dImage = 0)(m_dReal = dReal;m_dImage = dImage;void Show()(cout 0) (cout + m_dImage i endl;else if(m_dImage 0)(cout - -m_dImage i endl;CComplex operator+(const CComplex &obj)(CComplex objTemp(m_dReal + obj.m_dReal, m_dImage + obj.m_dImage);return objTemp;private:double m_dReal, m_dImage;int main()(CComplex obj1(2, 6), obj2(3, 8), obj3(0);obj1.Show();obj2.Show();obj3.Show();obj3 = obj1 + obj2;obj3.Show();return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号