欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《面向对象程序设计》课程作业(共8页).doc

    • 资源ID:16673829       资源大小:49KB        全文页数:8页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《面向对象程序设计》课程作业(共8页).doc

    精选优质文档-倾情为你奉上面向对象程序设计课程作业作业1:是非题 1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。( ) 2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。 ( )填空题 下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。函数sum计算数组元素之和。填充程序中不完整的部分。_int sum(int ,int);void main()int ia5 = 2,3,6,8,10; ;sumOfArray = sum(ia,5);cout << "Sum of array:" << sumOfArray << endl;int sum(int array,int len)int iSum = 0;for(int i = 0; ; ) ;return iSum; 阅读理解题 写出下列程序的运行结果: /file1.cpp static int i = 20; int x; static int g(int p) return i + p; void f(int v) x=g(v); /file2.cpp #include <iostream.h> extern int x; void f(int); void main() int i=5; f(i); cout << x; 回答以下问题: 1. 程序的运行结果是什么样的? 2. 为什么文件file2.cpp中要包含头文件<iostream.h>? 3. 在函数main()中是否可以直接调用函数g()?为什么? 4. 如果把文件file1.cpp中的两个函数定义的位置换一下,程序是否正确?为什么? 5. 文件file1.cpp和file2.cpp中的变量i的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。编程题 写一个函数,完成在链表末尾增加一个节点的操作。函数的原型为:Node * AddNode(Node * & head, int newData);其中,链表节点的定义如下:struct Node int data;/存放数据Node * next;/指向链表中的下一个节点;函数参数:函数的第一个参数head指向链表的第一个节点,如果链表为空,则head的值为NULL。第二个参数newData为要插入的新节点中存放的数据。函数返回值:当成功地插入新的节点时,函数返回指向新节点的指针,否则,如果不能申请到内存空间,则返回NULL。Node * AddNode(Node *& head, int newData)/在这里写出函数的实现作业2:是非题 1. 在不同作用域中的变量可以同名。 2. 派生类的成员函数可以直接访问基类的所有成员。填空题 #include<iostream.h> _A_; void main() int a6=2,4,8,6,9,14; int x1=_B_; /调用f1函数求出a中前4各元素之和。 int x2=f1(a,6); cout<<x1<<' '<<x2<<endl; int f1(int a, int n) int i,s=0; for(i=0;i<n;i+) s+=ai; return s; 改错题 1. 下面的函数将浮点型指针参数para所指向的值赋给一个局部指针变量pFloat所指向的空间,然后输出*pFloat的值。#include <iostream.h>void func(float * para) float * pFloat; pFloat = para; cout << pFloat;错误为:_改正方法为:_ 2. 下列程序片段对二维数组的每个元素赋值unsigned short SomeArray54; for (int i = 1; i<=5; i+) for (int j = 1; j<=4; j+) SomeArrayij = i+j;错误为:_改正方法为:_编程题 写一个函数,找出给定字符串中小写字母字符的个数。函数的原型为: int CalcAlpha(char *str);函数参数: str为所要处理的字符串;函数返回值:所给字符串中小写字母字符的个数int CalcAlpha(char *str)/在这里写上程序的实现 作业3:是非题 1. 函数的参数和返回值类型可以是简单数据类型,也可以是指针、引用、数组和类。 2. 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。填空题 #include<iostream.h> _A_; int f2(int* a, int n) _ B_; for(i=1;i<n;i+) if(max<ai) max=ai; return max; void main() int bMM=3,12,6,20,9,7,34,50,25,66; _C_; /求出b4至b8 之间的最大值并赋给x1 _D_; /求出b0至b5 之间的最大值并赋给x2 cout<<x1<<' '<<x2<<endl; 阅读理解题 二、 valarray是C+的标准模板库中的一个类模板,类模板的每个实例类实现了某个具体的数据类型的数组,如valarray<int>是一个整型的数组类。该类的使用和一般的数组非常类似,可以通过 运算符来访问数组中的每个元素。C+的标准模板库中还有一个模板函数abs(),其函数原型为: template<class T> valarray<T> abs(const valarray<T> & x);该函数的作用是将作为参数的数组x的每个元素的值取绝对值,并返回得到的新的数组。如原来的数组为:4 -1 -3 0 -34将这个数组作为参数传递给函数abs后,函数返回的数组就变成:4 1 3 0 34要求:阅读下列程序,回答后面的问题。/*/#include <iostream.h> #include <valarray.h> /该头文件中定义了模板类valarray和模板函数abs() #define ARRAY_SIZE 10 typedef valarray<int> INTVALARRAY; void main()INTVALARRAY val_array(ARRAY_SIZE); /定义一长度为ARRAY_SIZE的数组对象/赋初始值 for (int i = 0; i < ARRAY_SIZE; i+) val_arrayi = -i; cout << "Size of val_array = " << val_array.size() << "n" cout << "The values of val_array before calling abs():n" for (i = 0; i < ARRAY_SIZE; i+) cout << val_arrayi << " " cout << "n" INTVALARRAY abs_array = abs(val_array); cout << "The result of val_array after calling abs():n" for (i = 0; i < ARRAY_SIZE; i+) cout << abs_arrayi << " " cout << "n"/*/ 问题1:写出程序的输出结果 问题2:关于程序中的语句:INTVALARRAY val_array(ARRAY_SIZE);下列说法哪些是正确的,哪些是错误的?在下表相应的位置写上“对”或“错”题号ABCDE对/错(A)该语句定义了一个对象val_array,这个对象是类valarray<int>的实例(B)该语句说明了一个函数原型,函数的名字为val_array,参数为ARRAY_SIZE,函数的返回值类型为INTVALARRAY(C)板类valarray一定有一个只带一个参数的构造函数(D)模板类valarray一定有一个只带两个参数的构造函数(E)ARRAY_SIZE将作为参数传递给val_array的构造函数,初始化val_array对象 问题3:(本小题共12分)下面是模板函数abs()的实现。这个实现中有错误,指出错误并写出正确的实现。注意:函数头是正确的,不要改变,所有的错误出现在函数体中。template<class T>valarray<T> abs(const valarray<T>& x)for(int i=0; i<x.size(); i+) if(xi<0)xi*=-1;return x;这个函数实现中有以下错误:(1)_(2)_(3)_正确的函数实现应为:template<class T>valarray<T> abs(const valarray<T>& x) 问题4:(本小题3分)从上面的程序中,你可以推断出,valarray模板类中至少重载了哪个或哪些C+的运算符?答:重载了_运算符编程题写一个函数,找出给定字符串中具有最大ASCII码的字符。如字符串“world”中字符w具有最大的ASCII码。函数的原型为: char MaxCharacter(char *str);函数参数:str指向所要处理的字符串;函数返回值:如果str不空,则返回具有最大ASCII码的字符,否则返回空字符0x0或0。char MaxCharacter(char *str)作业4:是非题 1. 函数重载既要求两函数参数对应的类型不同又要求参数个数不同。 2. 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。编程题 一、定义一个日期类Date,该类对象存放一个日期,可以提供的操作有:int GetYear ();/取年份int GetMonth ();/取月份int GetDay ( );/取日子值void SetDate (int year, int month, int day);/设置日期值下面是测试你所定义的日期类的程序: #include <iostream.h> #include “date.h” voidmain() Date d1(1999, 1, 14);/用所给日期定义一个日期变量Date d2;/定义一个具有缺省值的日期,缺省值为1980年1月1日Date d3(d1);/用已有日期x构造一个新对象d2.SetDate(1999,3,13);cout << "Date:"cout << d1.GetYear() << '.' << d1.GetMonth() << '.'<< d1.GetDay() << endl;cout << "Date:"cout << d2.GetYear() << '.' << d2.GetMonth() << '.'<< d2.GetDay() << endl;cout << "Date:"cout << d3.GetYear() << '.' << d3.GetMonth() << '.'<< d3.GetDay() << endl;要求:(1)写出日期类的完整定义,其中,三个Get函数写成内联函数形式,SetDate写成非内联函数形式。所有数据成员都定义为私有成员。注意构造函数的三种形式。(2)写出程序的运行结果(3)修改程序,在日期类中定义日期的输出函数,这样,主程序就可以简化为:voidmain() Date d1(1999, 1, 14);/用所给日期定义一个日期变量Date d2;/定义一个具有缺省值的日期,缺省值为1980年1月1日Date d3(d1);/用已有日期x构造一个新对象d2.SetDate(1999,3,13);d1.Print();d2.Print();d3.Print();输出格式和上面一样。只需要写出类Date的修改部分。专心-专注-专业

    注意事项

    本文(《面向对象程序设计》课程作业(共8页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开