长安大学研究生C++考试编程题答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“研究生考试真题及答案”。
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=' ';}
//默认构造函数
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()