C++程序设
计
1、声明个 CPU
类,包含等级(rank),频率〔frequency〕,电压〔voltage〕属性,有
两个公有成员函数 run〔 “函数功能:输出 cpu
”正在运行 〕,stop〔 “函数功能:输出 cpu
停顿运
行”〕 。其中 rank 为枚举型 CPU_Rank,声明为 enum
CPU_Rank{P1=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 <iostream.h>
enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7};
class CPU
{private:
CPU_Rank
rank; int
frequency;
Boat voltage;
public:
void run();
void stop();
CPU(CPU_Rank r,int f,Boat v);