C程序设计考试题及答案_第1页
C程序设计考试题及答案_第2页
C程序设计考试题及答案_第3页
C程序设计考试题及答案_第4页
C程序设计考试题及答案_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+程序设计1声明个CPU类,包含等级(rank),频率(frequency ),电压(voltage )属性,有两个公 有成员函数 run (函数功能:输出“ cpu 正在运行” ), stop (函数功能:输出“ cpu 停止运 行”)。其中 rank 为枚举型 CPU_Ran,k 声明为 enumCPU_RankP1=1,P2,P3,P4,P5,P6,P7,frequency为单位是 MHz的整型数,voltage 为 double型电压值。编写构造函数和析构函数,在主函数中显示它们的调用顺序。2、 定义复数类COMPLEX并用成员函数为复数类COMPLEX!载加、减及赋值运算符操作。3

2、、 写一个程序,定义一个抽象类 Shape, 由它派生 3个类: Square( 正方形 ) 、 Trapezoid (梯 形)和 Triangle 三角形。 用虚函数分别计算几种图形面积、并求它们的和。 要求用基类指针 数组,使它每一个元素指向一个派生类对象。4、已知交通工具类定义如下。要求:(1)实现这个类;(2)定义并实现一个小车类 car,是它的公有派生类,小车本身的 私有属性有载人数, 小车的函数有 init( 设置车轮数,重量和载人数), getpassenger( 获取 载人数 ) , print (打印车轮数,重量和载人数)。5、声明一个车(vehicle)基类,具有 maxs

3、peed、weight成员变量,run、stop成员函数(简 单输出提示车正在行进”,车停止”),由此派生出自行车类 (bicycle )、汽车类(motorcar)。 自行车类有高度 (height)属性,汽车(motorcar)类有座位数(seatnum)。从bicycle和 motorcar 派生出摩托车类 (motorcycle) ,在继承过程中,注意把 vehicle 设置为虚基类,同时编写各个 类的构造函数和析构函数,在主函数中建立各个类对象,观察执行情况。6、定义类X、Y Z,函数h(X *),满足:类X有私有成员i,Y的成员函数g(X *)是X的友 元函数,实现对 X的成员i力

4、口 1;类Z是类X的友元类,其成员函数 f(X *)实现对X的成员 i加5;函数h(X *)是X的友元函数,实现对 X的成员i加10。在一个文件中定义和实现 类,在另一个文件中实现 main() 函数。提示:按Y、Z、X顺序定义类,在 Y、Z类前 前向声明X , X * x表示X类对象指针 x,访问x对象数据成员i变量的形式为x-i 。答案1、#include enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CPU_Rank rank;int frequency;float voltage;public:void run();void

5、 stop();CPU(CPU_Rank r,int f,float v);CPU(); CPU(CPU &c);void CPU:run()coutCPU 正在运行 endl;void CPU:stop()coutCPU 停止运行 endl; ( 1 分) CPU:CPU(CPU_Rank r,int f,float v) rank=r;frequency=f;voltage=v;cout 构造了一个 CPU:endl;CPU:CPU()cout 析构了一个 CPU:wheels=wheels;this-weight=weight; coutwheelsendl;int vehicle:ge

6、t_wheels()return wheels;float vehicle:get_weight()return weight;void vehicle:print()cout 车轮数: wheels, 重量: weightendl; class car:public vehicleprivate:int passengers;public:void init(int wheels,float weight,int pass);int getpassenger();void print(); ;void car:init(int wheels,float weight,int pass) ve

7、hicle:init(wheels,weight);passengers=pass;int car:getpassenger()return passengers;void car:print()vehicle:print();cout 可载人数: passengersendl;4、 #include class Shape public:virtual double area()const=0;class Square:public Shapepublic:Square(double s):side(s) double area() constreturn side*side; privat

8、e: double side;class Trapezoid:public Shapepublic:Trapezoid(double i,double j,double k):a(i),b(j),h(k) double area() constreturn (a+b)*h/2); private: double a,b,h;class Triangle:public Shapepublic:Triangle(double i,double j):w(i),h(j) double area() constreturn(w*h/2); private: double w,h; void main(

9、) Shape *p 5 ;Square se(5);Trapezoid td(2,5,4);Triangle te(5,8); p0 =&se; p1 =&td; p2=&te; double da=0; for(int i=0;iarea(); cout 总面积是: daendl; 5、 #include class vehicle private: int maxspeed;int weight; public:vehicle(int m,int w) maxspeed=m;weight=w; coutvehicle 构造函数 endl;vehicle()coutvehicle 析构函数

10、 endl;void run()cout车在行进中endl;void stop()cout 车停止 endl;class bicycle:virtual public vehicleprivate:double height;public: bicycle(int m,int w,double h):vehicle(m,w) height=h;coutbicycle 构造函数 endl;bicycle()coutbicycle 析构函数 endl;class motorcar:virtual public vehicle private:int seatnum;public:motorcar(

11、int m,int w,int s):vehicle(m,w) seatnum=s;coutmotorcar 构造函数 endl; motorcar()coutmotorcar 析构函数 endl;class motorcycle:public bicycle,public motorcar public:w,doubleh,intmotorcycle(intm,ints):bicycle(m,w,h),motorcar(m,w,s),vehicle(m,w) coutmotorcycle 构造函数 endl; motorcycle()coutmotorcycle 析构函数 endl; ;void main()vehicle a(200,3);();();bicycle b(50,1,;();();motorcar c(120,2,5);();();motorcycle d(100,1,3);();();6、#include class X; class Ypublic: void g(X* x);class Zpublic:void f(X* x);class Xprivate:int i;public: friend void Y:g(X*); fri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论