云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 面向对象程序设计(C++)复习题

面向对象程序设计(C++)复习题

  • 62 次阅读
  • 3 次下载
  • 2025/6/22 13:12:50

delete []p; cout<

19. 19.

#include class A {

int a[10]; int n; public:

A(int aa[], int nn): n(nn) {for(int i=0; i

int SumA(int n) { int s=0; for(int j=0; j

void main() {

int a[]={1,1,2,3,5,8}; A x(a,3), y(a,4); int d=1;

for(int i=0; i<3; i++) d*=x.Get(i); int f=y.SumA(4); cout<<\ cout<<\}

20. 20.

#include class BB { int a,b; public:

BB(int i=0,int j=1) { a=i; b=j;}

BB operator +(BB c) { BB d; d.a=a + c.a; d.b=b+c.b; return d;} BB operator -(BB c) { BB d; d.a=a - c.a; d.b=b-c.b; return d;} void show()

{cout<<'('<

void main()

{ BB x(10,15) , y(5,7),z;

z=x+y; z.show(); z=x-y; z.show(); } 21. 21.

#include #include class Point { int x,y; public:

Point(int x1=0, int y1=0) :x(x1), y(y1) {cout<<\ ~Point() { cout<<\

};

class Text {

char text[100]; public:

Text(char * str) {strcpy(text,str);cout<<\ ~Text() {cout<<\};

class CircleWithText : public Point,public Text { public:

CircleWithText(int cx,int cy, char *msg):

Point(cx,cy),Text(msg) {cout<<\~CircleWithText() {cout<<\};

void main()

{ CircleWithText cm(3,4,\22. 22.

#include class Croot

{ public: int x;

Croot( ) {x=2;cout<<\

Croot(int n) { x=n; cout<<\ void showsmall() { cout<<\};

class Cder1: public Croot

{ public: Cder1(int m) :Croot(m){} }; class Cder2: public Croot { public: int x;

Cder2(int n=0) { x=n; } };

void main()

{ Croot A; Cder1 bb(4); Cder2 cc;

A.showsmall(); bb.showsmall(); cc.showsmall(); }

23. 23.

#include class Croot { public: int small;

Croot( ) { small=2;cout<<”Called Constructor1.\\n”;} Croot(int n) { small=n; cout<<”Called Constructor2.\\n”;} void showsmall() { cout<<\};

class Cder1: public Croot

{ public:

Cder1(int m) :Croot(m){} };

class Cder2: public Croot { public: int small;

Cder2(int n=0) { small=n; } };

void main() { Croot A; Cder1 bb(4); Cder2 cc;

A.showsmall(); bb.showsmall(); cc.showsmall(); }

四 程序

1. 定义一个第3题的结构体类型的结构体数组stud,输入学生三门课成绩,然后按总分成绩排序后输出

学生成绩。

#include struct stud { int no;

char name[20]; int math; int eng; int c; int sum; } st[10];

int n=-1; //表示数组元素当前下标 void main() { int x=1,i,j; stud t;

cout<<\请输入学生记录,按0 结束\ while(x) { cin>>x;

if(x){ n++; //读入学号

st[n].no=x; //读入姓名

cin>>st[n].name>>st[n].math>>st[n].eng>>st[n].c; //读入三门课成绩 st[n].sum=st[n].math+st[n].eng+st[n].c; //计算三门课总分 }

else break; }

for(i=0;i

if(st[j].sum>st[j+1].sum)

{t=st[j];st[j]=st[j+1];st[j+1]=t;}

for(i=0;i<=n;i++) // 输出排序后学生信息 cout<

<<\

}

2. 声明一个哺乳动物Mammal类,再由此派生出狗Dog类,声明一个Dog类的对象,观察基类与派生类的

构造函数与析构函数的调用顺序。

#include class Mammal { public:

Mammal() { cout<<\ }

~Mammal() {cout<<\ } };

class Dog :public Mammal { public:

Dog() {cout<<\

~Dog() {cout<<\};

void main() { Dog b; }

3. 定义一个基类有姓名、性别、年龄,再由基类派生出教师类和学生类,教师类增加工号、职称和工资,

学生类增加学号、班级、专业和入学成绩。

#include #include #include

class base //定义一个基类 {protected:

char name[20]; //姓名 char sex[3]; //性别 int age; //年龄 ?? ?? };

class teacher:public base //基类派生出教师类 { int sno; //工号 char zc[20]; //职称 double wages; //工资 ?? ?? };

class student :public base //基类派生出学生类 { int sno; //学号 char bj[10]; //班级 char zy[10]; //专业 double score; //入学成绩 ?? ??

};

4. 建立一个基类Building ,用来存储一座楼房的层数、房间数以及它的总平方英尺数。建立派生类

Housing,继承Building,并存储下面的内容:卧室和浴室的数量,另外,建立派生类Office,继承Building,并存储灭火器和电话的数目。然后,编制应用程序,建立住宅楼对象和办公楼对象,并输

搜索更多关于: 面向对象程序设计(C++)复习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

delete []p; cout<

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com