C++面向对象程序设计上机考试题库[1](3)

2019-08-29 18:53

return false; }

void compare(String &string1,String &string2) {if(operator==(string1,string2)==1)

{string1.display();cout<<\ cout<

int main()

{String string1(\ compare(string1,string2); return 0; }

15. 定义一个字符串类String,用来存放不定长的字符串,重载运算符\,用于两个字符串的小于的比较运算。初值自拟。 #include #include class String {public:

String(){p=NULL;} String(char *str);

friend bool operator<(String &string1,String &string2); void display(); private: char *p; };

String::String(char *str) {p=str; }

void String::display() {cout<

bool operator<(String &string1,String &string2) {if(strcmp(string1.p,string2.p)<0) return true; else

return false; }

void compare(String &string1,String &string2) {if(operator<(string1,string2)==1)

【第 11 页 共 48 页】

{string1.display();cout<<\ cout<

int main()

{String string1(\ compare(string1,string2); return 0; }

16.定义一个字符串类String,用来存放不定长的字符串,重载运算符\,用于两个字符串的大于的比较运算。初值自拟。

#include #include class String {public:

String(){p=NULL;} String(char *str);

friend bool operator>(String &string1,String &string2); void display(); private: char *p; };

String::String(char *str) {p=str; }

void String::display() {cout<

bool operator>(String &string1,String &string2) {if(strcmp(string1.p,string2.p)>0) return true; else

return false; }

void compare(String &string1,String &string2) {if(operator>(string1,string2)==1)

{string1.display();cout<<\ cout<

int main()

【第 12 页 共 48 页】

{String string1(\ compare(string1,string2); return 0;}

17.定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++成绩、英语和数学成绩,成员函数包括输出数据,求出总成绩和平均成绩。数据自拟。

#include\#include class CStuScore

{ public:

char strName[12]; char strStuNO[9];

void SetScore( char sname[12], char NO[9],float s0, float s1,

float s2)

{

strcpy(strName, sname); strcpy(strStuNO, NO); fScore[0] = s0; fScore[1] = s1; fScore[2] = s2; } void print() { cout<<

cout<<\姓名:\cout<<\学号:\

cout<<\成绩:\英语成绩:\数学成绩:

\

float GetSUM()

{ return (float)((fScore[0] + fScore[1] + fScore[2])); } float GetAverage(); private:

float fScore[3]; };

float CStuScore::GetAverage()

{ return (float)((fScore[0] + fScore[1] + fScore[2])/3.0); } void main()

{ CStuScore one; float a,b,c;

char Name[12]; char StuNO[9]; cout<<\姓名:\cin>>Name; cout<<\学号:\cin>>StuNO;

cout<<\成绩1:\成绩2: \成绩3: \cin>>a>>b>>c;

one.SetScore(Name,StuNO,a,b,c);

【第 13 页 共 48 页】

one.print();

cout<<\平均成绩为 \cout<<\总成绩\

18.先建立一个Point(点)类,包含数据成员x,y(坐标点)。以它为基类,派生出一个Circle(圆)类,增加数据成员r(半径),再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,在增加数据成员h(高)。编写程序,重载运算符“<<”和“>>”,使之能够用于输出以上类对象。 #include class Point {public:

Point(float=0,float=0); void setPoint(float,float); float getX() const {return x;} float getY() const {return y;}

friend ostream & operator<<(ostream &,const Point &); protected: float x,y; };

Point::Point(float a,float b) {x=a;y=b;}

void Point::setPoint(float a,float b) {x=a;y=b;}

ostream & operator<<(ostream &output,const Point &p) {output<<\ return output; }

class Circle:public Point {public:

Circle(float x=0,float y=0,float r=0); void setRadius(float); float getRadius() const; float area () const;

friend ostream &operator<<(ostream &,const Circle &); protected:

float radius; };

Circle::Circle(float a,float b,float r):Point(a,b),radius(r){}

void Circle::setRadius(float r) {radius=r;}

float Circle::getRadius() const {return radius;}

【第 14 页 共 48 页】

float Circle::area() const

{return 3.14159*radius*radius;}

ostream &operator<<(ostream &output,const Circle &c)

{output<<\area=\

return output; }

class Cylinder:public Circle {public:

Cylinder (float x=0,float y=0,float r=0,float h=0); void setHeight(float); float getHeight() const; float area() const; float volume() const;

friend ostream& operator<<(ostream&,const Cylinder&); protected:

float height; };

Cylinder::Cylinder(float a,float b,float r,float h) :Circle(a,b,r),height(h){}

void Cylinder::setHeight(float h){height=h;}

float Cylinder::getHeight() const {return height;}

float Cylinder::area() const

{ return 2*Circle::area()+2*3.14159*radius*height;}

float Cylinder::volume() const {return Circle::area()*height;}

ostream &operator<<(ostream &output,const Cylinder& cy)

{output<<\r=\h=\ <<\ return output; }

int main()

{Cylinder cy1(3.5,6.4,5.2,10);

cout<<\ <

【第 15 页 共 48 页】


C++面向对象程序设计上机考试题库[1](3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:3+4基础综合(2015年试卷)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: