2008年第一题
#include\"iostream.h\" cla point
//圆心坐标类 {public: void set(int a,int b); //初始化函数给坐标赋初值
void get(int &a,int &b);
//将坐标值带到类外 private: int x;int y;
//圆心坐标 }; void point::set(int a,int b){x=a;y=b;} void point::get(int &a,int &b){a=x;b=y;} //****************************************************************** cla circle:public point
//计算圆面积类 { public: circle(double c,int a,int b);
//c为圆半径,a b为圆心坐标
double value();
//计算圆面积,输出圆心坐标和圆面积,返回圆面积 private: double r;
//圆半径 }; circle::circle(double c,int a,int b) {r=c; set(a,b);} double circle::value() {double m;
m=3.14*r*r; int a,b;
get(a,b); cout
//计算圆柱体体积类 { public: cylinder(double d,double c,int a,int b);//d为圆柱体高,c为圆半径,a b为圆心坐标
double value(); //计算圆柱体体积,输出圆心坐标和底圆面积以及圆柱体体积,返回圆柱体体积 private: double h; //圆柱体高 }; cylinder::cylinder(double d,double c,int a,int b):h(d),circle(c,a,b){} double cylinder::value() {double v,m; m=circle::value(); v=m*h; cout
cin>>r; cout
cin>>h; cout
cin>>x>>y; circle AA(r,x,y); AA.value(); cylinder BB(h,r,x,y); BB.value(); } 2008年第二题
#include\"iostream.h\" #include\"string.h\" cla emp
//已有的员工工资类 { public: void set(char *s,double i);//初始化函数s为员工名字,i为基本工资
virtual double earning();//计算员工实发工资(基本工资+基本工资*0.2)
void disp();
//输出员工名字及实发工资
virtual ~emp();
//释放对象 protected: char *name;
//员工名字
double bs;
//基本工资 }; void emp::set(char *s,double i) {
name=new char[strlen(s)+1]; strcpy(name,s); bs=i; } double emp::earning(){return bs+bs*0.2;} void emp::disp(){coutset(\"王阳\",3500); m->disp(); delete m; } 2007年第一题
#include\"iostream.h\" cla time { private: int hour; int minute; int second;
//三个私有成员 public: time() {hour=0;minute=0;second=0;}//默认构造函数
time(int i,int j,int k) {settime(i,j,k);} void settime(int i,int j,int k) {
int temp1,temp2;
second=k%60;
temp1=k/60;
minute=(j+temp1)%60;
temp2=(j+temp1)/60;
hour=(i+temp2)%24; }
//对数据成员设定初值
void gettime(int *pi,int *pj,int *pk) {*pi=hour;*pj=minute;*pk=second;} //将数据成员传递到类外 }; void main() { int h,m,s; cout
cin>>h>>m>>s;
cout
time T(h,m,s); T.gettime(&h,&m,&s);
cout
#include\"iostream.h\" cla S
//一般中等学校的学生类S,是基类 { protected: float m;
//数学成绩
float e;
//英语成绩
char *name;
//学生姓名 public: S() {m=0;e=0;name=\'\\0\';}
//默认构造函数
S(float i,float j,char *s) {m=i;e=j;name=s;}
//三参数构造函数
float sum()
//成绩相加,并输出学生姓名和成绩之和
{float z;z=m+e;cout
float r;
//机械设计课程成绩
public: uS1() {r=0;}
//默认构造函数
uS1(float i,float j,char *s,float k):S(i,j,s),r(k){}//四参数构造函数
float sum() {float z;z=m+e+r;cout
// }; //****************************************************** cla uS2:virtual public S //高等学校管理专业学生类uS2,是直接派生类 { protected: float a;
//现代管理理论课程成绩 public:
uS2() {a=0;} uS2(float i,float j,char *s,float l):S(i,j,s),a(l){} float sum() {float z;z=m+e+a;cout
//攻读以上双学位学生类gS,是间接派生类 { protected: float i;
//论文成绩 public:
gS() {i=0;} gS(float ii,float j,char *s,float k,float l,float p):S(ii,j,s),uS1(ii,j,s,k),uS2(ii,j,s,l){i=p;}//注意此处 float sum() {float z; z=m+e+r+a+i; cout
#include\"iostream.h\" cla time { private: int hour; int minute; int second;
//三个私有成员,类外不能调用 public: time() {hour=0;minute=0;second=0;} time(int l,int m,int n) {setcoord(l,m,n);} void setcoord(int i,int j,int k) {int temp1,temp2;
second=k%60;
temp1=k/60;
minute=(j+temp1)%60;
temp2=(j+temp1)/60;
hour=(i+temp2)%24; //此处保留余数
} void getcoord(int*p1,int*p2,int*p3) {*p1=hour; *p2=minute; *p3=second;} };
void main() {
int h,m,s; time T(25,61,62); T.getcoord(&h,&m,&s); cout
#include\"iostream.h\" const double PI=3.14159; cla circle { protected: double r;
//圆的半径 public: void set(double i); virtual double value();//计算圆的面积
void display(); //输出value()的值 }; void circle::set(double i){ r=i;} double circle::value(){return PI*r*r;} void circle::display() {cout
circle *p=new globle(5); coutvalue()