c++程序设计考试题及答案_第1页
c++程序设计考试题及答案_第2页
c++程序设计考试题及答案_第3页
c++程序设计考试题及答案_第4页
c++程序设计考试题及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

C+程序设计 1、声明个 CPU类,包含等级(rank),频率(frequency) ,电压(voltage)属性,有两个 公有成员函数 run(函数功能:输出“cpu 正在运行” ) ,stop(函数功能:输出“cpu 停止 运行” ) 。其中 rank为枚举型 CPU_Rank,声明为 enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7, frequency为单位是 MHz的整型数,voltage 为 double型电压值。编写构造函数和析构函 数,在主函数中显示它们的调用顺序。 2、 定义复数类 COMPLEX,并用成员函数为复数类 COMPLEX重载加、减及赋值运算符操作。 3、写一个程序,定义一个抽象类Shape,由它派生3个类:Square(正方形)、Trapezoid(梯 形)和Triangle三角形。用虚函数分别计算几种图形面积、并求它们的和。要求用基类指 针数组,使它每一个元素指向一个派生类对象。 4、已知交通工具类定义如下。 要求:(1)实现这个类;(2)定义并实现一个小车类car,是它的公有派生类,小车本身 的私有属性有载人数,小车的函数有init(设置车轮数,重量和载人数), getpassenger(获取载人数),print(打印车轮数,重量和载人数)。 5、声明一个车(vehicle)基类,具有 maxspeed、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加 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 CPU private: CPU_Rank rank; int frequency; float voltage; public: void run(); void stop(); CPU(CPU_Rank r,int f,float v); CPU(); CPU(CPU ; void CPU:run() coutwheels=wheels; this-weight=weight; cout class Shape public: virtual double area()const=0; ; class Square:public Shape public: Square(double s):side(s) double area() constreturn side*side; private: double side; ; class Trapezoid:public Shape public: 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 Shape public: Triangle(double i,double j):w(i),h(j) double area() constreturn(w*h/2); private: double w,h; ; void main() Shape *p5; Square se(5); Trapezoid td(2,5,4); Triangle te(5,8); p0= p1= p2= double da=0; for(int i=0;iarea(); cout class vehicle private: int maxspeed; int weight; public: vehicle(int m,int w) maxspeed=m; weight=w; cout class X; class Y public: void g(X* x); ; class Z public: void f(X* x); ; class X private: int i; public: friend void Y:g(X*); friend class Z; frien

温馨提示

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

评论

0/150

提交评论