c++第一次上机考试试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》过程考核大纲
第一单元类和对象
一、考核目标
主要考察类、对象、类的组合、友元等概念和使用方法,通过考试,使学生掌握类和对象的概念和语法;掌握面向对象的基本概念和对象的使用方法。
掌握构造函数和析构函数的作用和语法。
掌握类的组合,利用组合进行面向对象程序设计,掌握组合情况下的构造和析构函数,掌握友元函数的意义和用法。
二、考核内容
1.类的编写和对象的创建。
2.通过对象调用成员函数。
3.构造函数和析构函数。
4.类的组合,组合时构造函数的调用。
5.友元函数。
6.类的静态成员。
三、考试要求
1.不允许携带U盘和教材等进入考场。
2.考试过程中保持安静,独立按要求完成考试题目。
3.考试结束后,请坐在座位上,等待监考老师确认你的考题之后方可签字离开。
4.在桌面上新建一个文件夹,以“学号+姓名”形式命名,如:20130102张三。
该文件夹中应该包含两个子文件夹(文件夹名分别为:第一题第二题),分别存放两道题的相关工程文件以及测试结果等。
《面向对象程序设计》第一次过程考核A卷
(学号尾号为单数的学生完成A卷)
1.已知一个名为Complex的复数类,这个类包含:
(1)私有成员:实部、虚部,且均为int 型
(2)公有的带默认形参值的构造函数、复制构造函数
(3)公有成员函数Display,其作用为显示复数
要求:
(1)实现满足上述属性和行为的Complex类定义;
(2)设计函数AddComplex,函数AddComplex功能为实现两个复数相加,要求该函数的形参为复数类的常引用;
(3)保证如下主函数能正确运行,
int main(){
Complex c0(2,-3);
Complex c1(c0);
cout<<"c1 is: ";
c1.Display();
Complex c2(3,4);
cout<<"c2 is: ";
c2.Display();
Complex c3;
c3 = AddComplex(c1,c2);
cout<<"c3 is: ";
c3.Display();
return 0;
}
且输出结果如下:
c1 is: 2-3i
c2 is: 3+4i
c3 is: 5+1i
2.2.已知表示点的类CPoint和表示线段的CLine类,
类CPoint包含:(1)表达点位置的私有数据成员x,y
(2)构造函数及复制构造函数
类CLine包含:
(1)两个CPoint的点对象(该两点分别为线段的两个端点)
(2)构造函数(提示:构造函数中用初始化列表对内嵌对象进行初始化)
(3)公有成员函数GetLen,其功能为返回线段的长度
(4)类属性成员count用于记录创建的CLine类对象的个数,及用于显示count 值的ShowCount函数;
要求:
(1)实现满足上述属性和行为的CPoint类及CLine类定义;
(2)保证如下主函数能正确运行,
#include <iostream>
using namespace std;
int main(){
CPoint p1(1,1);
CPoint p2(4,5);
CLine line1(p1,p2);
cout<<"the length of line1 is: "<<line1.GetLen()<<endl;
CPoint p3(0,0);
CLine line2(line1);
cout<<"The count of line is: "<<CLine::ShowCount()<<endl;
return 0;
}
且输出结果如下:
The length of line1 is: 5
The count of Line is: 2
《面向对象程序设计》第一次过程考核B卷
(学号尾号为双数的学生完成B卷)
1. 已知一个名为Complex的复数类,这个类包含:
(1)私有成员:实部、虚部,且均为int 型
(2)公有的带默认形参值的构造函数、复制构造函数
(3)公有成员函数Display,其作用为显示复数
要求:
(1)实现满足上述属性和行为的Complex类定义;
(2)设计函数SubComplex,函数SubComplex功能为实现两个复数相减,要求该函数的形参为复数类的常引用;
(3)保证如下主函数能正确运行,
int main(){
Complex c0(2,-3);
Complex c1(c0);
cout<<"c1 is: ";
c1.Display();
Complex c2(3,4);
cout<<"c2 is: ";
c2.Display();
Complex c4;
c4 = SubComplex(c1,c2);
cout<<"c4 is: ";
c4.Display();
return 0;
}
且输出结果如下:
c1 is: 2+3i
c2 is: 3+4i
c4 is: -1-1i
2.已知表示点的类CPoint和矩形类CRectangle类,
类CPoint包含:(1)表达点位置的私有数据成员x,y
(2)构造函数及复制构造函数
类CRectangle包含:
(1)两个CPoint的点对象(该两点分别为矩形左上角点及右下角点)
(2)构造函数(提示:构造函数中用初始化列表对内嵌对象进行初始化)
(3)公有成员函数GetArea,其功能为返回矩形面积
(4)类属性成员count用于记录创建的CRectangle类对象的个数,及用于显示count值的ShowCount函数;
要求:
(1)实现满足上述属性和行为的CPoint类及CRtangle类定义;
(2)保证如下主函数能正确运行,
#include <iostream>
using namespace std;
int main(){
CPoint p1(1,1);
CPoint p2(4,5);
CRectangle rec1(p1,p2);
cout<<"The area of rec1 is: "<<rec1.GetArea()<<endl;
CPoint p3(2,2);
CRectangle rec2(rec1);
cout<<"The count of rectangle is: "<<CRectangle::ShowCount()<<endl;
return 0;
}
且输出结果如下:
The area of rec1 is: 12
The count of rectangle is: 2。