77范文网 - 专业文章范例文档资料分享平台

visual+C++练习题

来源:网络收集 时间:2020-06-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

面向对象编程程序设计复习题

一、编程题

1. 试定义一个表示学生成绩的结构体,要求包含学号(no)、姓名(name)、数

学成绩(math)、英语成绩(eng)、C++语言成绩(c)和三门课程的总分(sum),

再定义两个变量(s1,s2)。

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

3. 定义一个学生类,其中有3 个数据成员:学号、姓名、年龄,以及若干成

员函数。同时编写main 函数使用这个类,实现对学生数据的赋值和输出。 4. 计算两点之间的距离。可以定义点类(Point),再定义一个类(Distance)

描述两点之间的距离,其数据成员为两个点类对象,两点之间距离的计算可设计由构造函数来实现。

5. 编写一个程序,设计一个产品类Product,要求包含数据成员:产品名称,

产品单价, 剩余产品数量,同时要求有构造函数,析构函数,显示剩余产品数量的成员函数。

6. 编写一个程序计算两个给定的长方形的周长和面积,要求定义一个长方形

rectangle的类。

7. 声明一个Shape 基类,在此基础上派生出Rectangle 和Circle 类,二者都

有GetArea()函数计算对象的面积。使用Rectangle 类创建一个派生类正方

形Square类。

8. 声明一个哺乳动物Mammal 类,再由此派生出狗Dog 类,声明一个Dog 类的

对象,观察基类与派生类的构造函数与析构函数的调用顺序。

9. 定义一个基类有姓名、性别、年龄,再由基类派生出教师类和学生类,教

师类增加工号、职称和工资,学生类增加学号、班级、专业和入学成绩。 10. 例7.2 对候选人得票的统计程序。设有3个候选人,最终只能有1人当选为

领导。今有10个人参加投票,从键盘先后输入这10个人所投的候选人的名字,要求最后输出这3个候选人的得票结果。

11. 定义一个国家基类Country,包含国名、首都、人口等属性,派生出省类

Province,增加省会城市、人口数量属性。 12. 定义一个车基类Vehicle,含私有成员speed,weight。派生出自行车类

Bicycle,增加high 成员;汽车类Car,增加seatnum 成员。从bicycle 和car 中派生出摩托车类Motocycle。

13. 声明一个Rectangle 类,有长(itsWidth)、宽(itsLength) 等属性,重载其构造函数Rectanle()和Rectangle(int width,int length)

14. 写一个Complex类,将运算符“+”重载为适用于复数加法,重载函数不作为

成员函数,而放在类外,作为Complex类的友元函数。如例题10.3 15. 例9.2 有两个长方柱,其长、宽、高分别为: (1)12,20,25;(2)10,14,20。求

它们的体积。编一个基于对象的程序,在类中用带参数的构造函数。 16. 例11.8 声明一个教师(Teacher)类和一个学生(Student)类,用多重继承的方

式声明一个研究生(Graduate)派生类。教师类中包括数据成员name(姓名)、age(年龄)、title(职称)。学生类中包括数据成员name1(姓名)、age(性别)、score(成绩)。在定义派生类对象时给出初始化的数据,然后输出这些数据。 17. 写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle,Square,

Rectangle,Trapezoid,Triangle。用虚函数分别计算几种图形的面积,并求它们的和。要求用基类指针数组,使它的每一个元素指向一个派生类的对象。(第12章的习题5)

18. 例13.11 有一个整型数组,含10个元素,从键盘输入10个整数给数组,将

此数组送到磁盘文件中存放。 19. 例13.12 从例13.11建立的数据文件f1.dat中读入10个整数放在数组中,找

出并输出10个数中的最大者和它在数组中的序号。 20. 定义一个Dog 类,包含体重和年龄两个数据成员及相应的成员函数。声明

一个实例dog1,体重为5,年龄为10,使用I/O 流把dog1 的状态写入磁盘

文件;再声明另一个实例dog2,通过读文件把dog1 的状态赋给dog2。

21. 第13章的习题3 二、阅读题

1.

#include using namespace std; int main() {

char line[20]; cin>>line;

cout<<\return 0;

}

如运行时输入This is example.,则程序的输出结果是____________

2. 写出下列程序运行结果: #include using namespace std;

struct point

{ int x; int y; } st[5]={1,2,3,4,5,6,7,8,9,10}; void main() { int i; point *p; p=st;

for(i=0;i<5;i++)

{ cout<x<<'\\t'<y<

3.

写出下列程序运行结果: #include using namespace std; class A {

public:

int a;

A():a(10)

{cout<

int main() { A obj1;

A obj2(obj1);

cout<

}

4. 下列程序的输出结果是__ #include using namespace std; template T max(T x[],int n) { int i;

T maxv=x[0]; for(int i=1;i

if(maxv

return maxv;

}

int main() {

int a[]={3,2,4,5,9,10};

double b[]={1.2,4.6,3.6,9.0};

cout<

5. 下列函数average 功能是计算10名学生3门课成绩的平均分,请填空。 #include using namespace std; const int m=3; const int n=10; struct stud{ int no;

char name[16]; float mark[m];

float ave;

};

void average(stud st[]) {int i,j; float sum; for(i=0;i

void main() {stud preson[n];

average(preson); }

6. 函数findbook 的功能是:在有n 个元素的数组s 中查找名为a 的书若找到,

函数返回数组下标,否则,函数返回-1,请填空。 struct data { int id; char name[20];

double price; } book[100];

int findbook(data s[],int n,char a[]) {int i;

for(i=0;i

if( (1) ) return i; //1 (2) ; //2 }

7. 学生姓名(name)和年龄(age)存于结构体数组person 中,函数fun 的功能是:

找出年龄最小的那名学生,找出程序错误,并改正。 #include using namespace std; struct stud{ char name[20]; int age;

} ;

fun (stud person[],int n) // 1 { int min; min=0;

for(i=0;i

if(person[i]

}

void main(){ stud a[]={{\int n=4;

stud minpers; minpers=fun(a,n);

cout<<\年龄最小者是:\}

8. 写出下列程序的运行结果 #include using namespace std; struct ab { char a[5]; float b; };

void main()

{ ab x={\

cout<

9. 写出下列程序的运行结果 #include using namespace std; struct ab { char a ; float b; };

void f(ab &y) { y.a='W'; y.b=90.5; }

void main()

{ ab x={'L',89.5};

f(x);

cout<

10. 写出下列程序的运行结果 #include

using namespace std;

enum week {sun,mon,tue,wed,thu,fri,sat} ; void main()

{ char *w[ ]={\cout<

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库visual+C++练习题在线全文阅读。

visual+C++练习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1125182.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: