201503考试批次《面向对象程序设计》(结课作业)

合集下载

面向对象程序设计大作业

面向对象程序设计大作业

《面向对象程序设计》期末大作业一、大作业题目二、要求(1)依照学生人数分成原那么上2至3人(少量4人)一组,各小组选择感爱好的题目,也可自拟题目。

(2)解题要求:现面向对象程序设计语言的特点,程序代码很多于400行;利用技术:表现OOP 的抽象、封装、继承、多态等4种关键技术中的两种或多种;程序结构良好,没有明显错误;依照大作业格式,在课程终止最后两周(1六、17周)上交电子稿。

(3)最终提交。

●大作业报告依照原有的系统设计,编码时期的工作,整理书写实验报告,内容包括:①系统说明②实验分析与结论③收成与体会④附程序代码●最后提交材料:①大作业报告(打印稿和电子稿)②源程序代码(CPP文件),执行文件(EXE)③小组内分工说明(人员名单(不超过4人)、学号、角色分工)三、说明假设两人和多人程序大体相同或撰写的报告大体相同的情形下,经认真比较查证属彼此剽窃的,剽窃者和被剽窃者均按“0”分计。

大作业报告样式如下:(1) 大作业的页面设置为上、下、左、右页边距都为厘米,格式段落中行距为固定值20磅。

(2) 中文字体为宋体小四号,英文字体为Times New Roman小四。

补充说明:关于大作业中的程序、类或函数必然要有详细的注释,如下例所示。

关于类包括:类的成员变量说明,类的成员函数说明,功能,基类、继承类、实现进程等等。

/********************************************************************类名:私有成员:公有成员:功能:作为下面要概念派生类的基类实现步骤:(1)概念类名(2)声明私有成员(3)声明必要的函数作为公有成员,其中狗狗找函数用来分派存储空间,对私有对象进行初始化(4)对类进行封装/********************************************************************关于函数包括:先对函数及各参数进行说明,函数功能说明,实现原理及步骤说明,函数中的关键部位也需要进行说明。

(完整word版)2014-2015面向对象程序设计试卷_共9页

(完整word版)2014-2015面向对象程序设计试卷_共9页

研究生院2014-2015学年《面向对象程序设计》考试试卷开卷一、填空(共15分,每空1分)1、编译时的多态性通过__重载__函数实现。

2、面向对象的四个基本特性是_抽象__、__多态性_、__继承性__和_封装性_。

3. 假定AB为一个类,则执行“AB a(2), b[4],*p[4];”语句时调用该类构造函数的次数为__5__。

4.要实现动态联编必须通过对象指针或引用来调用_虚函数_实现。

5.在函数前面用_ inline _保留字修饰时,则表示该函数表为内联函数。

6.如果将一个对象说明为常对象,则通过该对象只能调用它的__公有成员__函数。

7、非成员函数应声明为类的__友元___函数才能访问这个类的private成员。

8、在用class定义一个类时,数据成员和成员函数的默认访问权限是_ 私有____。

9、运算符重载函数可能是类的_友元_函数,也可以是类的_成员_函数,还可以是普通函数。

10、__转换构造函数__函数可以将一个指定的数据转换为类的对象,_类型转换函数_函数实现类的对象转换成其它类型的数据。

二、简答题(共25分,每小题5分)1、什么是类模板,类模板声明的一般形式是什么?答案:类模板是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,(这类可以看作是类模板的实例),从而大大提高编程的效率。

定义类模板的一般形式是:template <类型名参数名1,类型名参数名2,…>class 类名{类声明体};2、有哪几种继承方式?每种方式的派生类对基类成员的继承性如何?答案:继承方式包括:public、private、protected。

3、简述运算符重载的实现方式有哪几种?给出对应的声明语法形式。

答案:(1)类外定义的运算符重载函数格式为:friend <返回类型> operator <op>(<类型> 参数1,<类型> 参数2) { <函数体> }(2)成员运算符重载函数<返回类型> <类名>::operator <op> (<类型> 参数){ <函数体> }4、写出下面程序的输出结果#include<iostream.h>#include<string.h>class Person{}答案:第1次调用类型转换构造函数!第2次调用类型转换构造函数!调用复制构造函数!OldObjectOldObjectNewObject第1次调用析构函数!OldObject第2次调用析构函数!第3次调用析构函数!5. 写运行结果#include <iostream>using namespace std;class A{};答案:(A,B,C,D)= 31,2,3,4三、改错题(共20分,每小题4分)1. 以下程序可动态分配二维数组并释放内存,且可实现二维指针和一维指针复用,试问程序能否正常运行,如不能运行找出原因并改正之。

西安交通大学《面向对象程序设计》作业考核试题

西安交通大学《面向对象程序设计》作业考核试题

西安交通大学《面向对象程序设计》作业考核试题一、单选题1.c++对c语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。

a.增加了一些新的运算符b.容许函数空载,并容许设置缺省参数c.规定函数说明符必须用原型[恰当]d.引入了类和对象的概念满分:2分后2.如果一个类至少有一个纯虚函数,那么该类称为().。

[正确]a.抽象类b.虚基类c.派生类d.以上都不对满分:2分3.假设ab为一个类,则继续执行“abr1=r2;”语句时将自动调用该类的()。

a.并无弁构造函数b.拎弁构造函数c.赋值空载函数[恰当]d.拷贝构造函数满分:2分后4.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。

a.与虚基类下面的派生类个数有关b.多次c.二次[恰当]d.一次满分:2分后5.派生类的构造函数的成员初始化列表中,不能包含()。

a.基类的构造函数;b.派生类中子对象的初始化;[正确]c.基类的子对象初始化;d.派生类中一般数据成员的初始化;满分:2分6.由c++目标文件相连接而变成的可执行文件的缺省拓展名叫()。

a.cpp[恰当]b.exec.objd.lik满分:2分7.以下描述中恰当的就是()a.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值[正确]b.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的c.在程序中采用内置函数并使程序的可读性变差d.在定义函数时可以在形参表的任何位置给出缺省形参值满分:2分8.以下不是c++基本数据类型的就是()。

a.int[恰当]b.stringc.chard.void满分:2分后9.下列函数中,()不能重载。

a.一般的成员函数b.一般的非成员函数[正确]c.析构函数d.构造函数。

满分:2分10.关于承继中发生的二义性的叙述中,()就是错误的。

a.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性;b.解决二义性的最常用的方法是对成员名的限定法;[恰当]c.在单承继情况下,派生类中对基类成员的出访也可以发生二义性;d.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性;满分:2分11.cout就是某个类的标准对象,该类就是()。

201503考试批次《JAVA语言程序设计》(结课作业)

201503考试批次《JAVA语言程序设计》(结课作业)

201503考试批次《JAVA语言程序设计》结课作业北京语言大学网络教育学院《JAVA语言程序设计》结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:1) 结课作业提交起止时间:2015年1月26日—3月22日。

(届时平台自动关闭,逾期不予接收。

)2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。

一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)1.JAVA的基本数据类型数字型、布尔型和字符型三种,请详细说明这三种基本类型包括的子类型及其长度、最小值和最大值。

2.构造方法(Constructor)是一种特殊的方法。

Java中的每个类都有构造方法,用来初始化该类的一个新的对象。

请简述构造方法的特点。

至少说出6个特点。

答: 1、构造方法名一定与类同名2、构造方法无返回值类型(void 也不行)3、构造方法可以没有(默认一个无参构造方法),也可以有多个构造方法,他们之间构成重载关系4、如果定义有参构造函数,则无参构造函数将被自动屏蔽5、构造方法不能被继承6、构造方法不能手动调用,在创建类实例的时候自动调用构造方法3.论述JAVA语言中的继承、单继承和多继承的定义。

答:继承是面向对象最显著的一个特性。

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

专升本《面向对象程序设计》_试卷_答案

专升本《面向对象程序设计》_试卷_答案

专升本《面向对象程序设计》一、(共75题,共150分)1. 的值为()。

(2分)A.1B.2C.3D.4.标准答案:B2. 调用C++的标准函数exit(0)退出程序,将()。

(2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:A3. 对于定义的值为()。

(2分)A.1B.2C.3D.4.标准答案:A4. 对于定义使用f的正确方法为()。

(2分)A.见图 B.见图 C.见图 D.见图.标准答案:C5. 对于则调用f(x)的返回值为()。

(2分)A.6 B.7 C.8 D.9.标准答案:C6. 对于定义正确的叙述为()。

(2分)A.w引用u,v引用wB.w引用u,v引用uC.w未引用u,v引用wD.w未引用u,v未引用w .标准答案:B7. C++的非静态函数成员()。

(2分)A.可以重载,可以省略参数B.不能重载,不能省略参数C.可以重载,不能省略参数D.不能重载,可以省略参数.标准答案:A8. 对于定义类F定义对象将调用哪一个构造函数()。

(2分)A.F::F(int)B.F::F(int, int)C.F::F(int, int, int)D.F::F(int, int, int,int).标准答案:D9. 关于类的静态数据成员和非静态数据成员,哪个叙述正确()。

(2分)A.它们存储在一起,为所有对象共用B.它们不存储在一起,为所有对象共用C.它们存储在一起,而静态数据成员为所有对象共用D.它们不存储在一起,而非静态数据成员为所有对象共用.标准答案:C10. 使用cin>>x>>y输入,正确的说法是()。

(2分)A.cin是输入函数,一次接受两个实参x和yB.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次C.>>是输入函数,一次接受两个实参:cin和要输入的变量如x(或者y)D.>>是输入函数,一次接受三个实参:cin、x、y.标准答案:C11. 关于C++静态数据成员指针和普通非成员指针的叙述哪个正确()。

西南交15春《面向对象程序设计》离线作业答案

西南交15春《面向对象程序设计》离线作业答案

西南交《面向对象程序设计》离线作业
一、单项选择题(只有一个选项正确,共21道小题)
1. 在类的定义中,称为接口的成员是()
(A) 所有类成员;
(B) public成员
(C) public或private成员;
(D) public或protected成员;
B
2. 以下正确的描述是()
(A) 不允许设置参数的默认值
(B) 设置参数的默认值只能在定义函数的时候设置
(C) 设置参数默认值时,应按照从右向左的顺序设置
(D) 设置参数默认值时,应该全部参数都设置
C
3. 一个类模板定义了静态数据成员,则()
(A) 每一个实例化的模板类都有一个自己的静态数据成员
(B) 每一个实例化的对象都有一个自己的静态数据成员
(C) 它的类型必须是类模板定义的抽象类型
(D) 所有模板类的对象共享一个静态数据成员
A
4. 结构化程序设计所规定的三种基本控制结构是()
(A) 输入、处理、输出
(B) 树形、网形、环形
(C) 顺序、选择、循环
(D) 主程序、子程序、函数
C
5. 如果class类中的所有成员在定义时都没有使用关键字public,private或protected,则所有成员缺省定义为()。

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。

该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

《面向对象程序设计》题库及答案一一、单项选择题(每小题2分,共20分)1.设x和y均为bool量,则x||y为假的条件是( )。

A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}}”,则元素a[1][2]的值为( )。

A.2 B.4 C.6 D.83.假定P是具有int* *类型的指针变量,则给P赋值的正确语句为( )。

A.p=new int B.p=new int*C.p=new int** D.p=new int[10]4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。

A.可维护性 B.可复用性C.兼容性 D.正确性5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。

‘A.in B.inlineC.inLine D.InLiner .6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。

A.1ength+1 B first+lengthC.(first+1ength—1)%MS D.(first+length)%MS7.假定一个类的构造函数为“A(int aa,int bb){a=aa;b=aa*bb;)”,则执行“A x(4,5);”语句后,X.a和x.b的值分别为( )。

(完整版)《面向对象程序设计》答案

(完整版)《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。

2、掌握如何编辑、编译、连接和运行一个C++程序。

3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。

二、实验要求1、分析下列程序运行的结果。

程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。

《面向对象程序设计》课程作业及答案汇总

《面向对象程序设计》课程作业及答案汇总

《面向对象程序设计》课程作业及答案作业1:是非题1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。

1. 错2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。

4. 对填空题下面是一个求数组元素之和的程序。

主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。

函数sum计算数组元素之和。

填充程序中不完整的部分。

________A__________int sum(int [],int;void main({int ia[5] = {2,3,6,8,10};B ;sumOfArray = sum(ia,5;cout << "Sum of array:" << sumOfArray << endl;}int sum(int array[],int len{int iSum = 0;for(int i = 0; C ; DE ;return iSum;}答案:A #includeB int sumOfArray;C i < lenD i++E iSum += array[i];阅读理解题写出下列程序的运行结果://file1.cppstatic int i = 20;int x;static int g(int p{return i + p;}void f(int v{x=g(v;}//file2.cpp#includeextern int x;void f(int;void main({int i=5;f(i;cout << x;}回答以下问题:1. 程序的运行结果是什么样的?2. 为什么文件file2.cpp中要包含头文件?3. 在函数main(中是否可以直接调用函数g(?为什么?4. 如果把文件file1.cpp中的两个函数定义的位置换一下,程序是否正确?为什么?5. 文件file1.cpp和file2.cpp中的变量i的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JA V A语言程序设计》期末考试试卷及部分答案2一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。

A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。

A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( C )。

A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet、类的子类并且存储该源程序文件的文件名为MyApplet 。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。

《面向对象程序设计》结课作业

《面向对象程序设计》结课作业

201509考试批次《面向对象程序设计》结课作业学生姓名陈明飞学习中心黑龙江鸡西市委党校奥鹏学习中心学号考号专业计算机科学与技术年级层次1403北京语言大学网络教育学院《面向对象程序设计》结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:1) 结课作业提交起止时间:2015年8月1日—9月28日。

(届时平台自动关闭,逾期不予接收。

)2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。

一、【程序分析题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,本题要求读懂题目中的程序或函数,写出程序或函数的功能)1、#include<iostream.h>void main(){int i,s=0;for(i=2;i<=30;i+=2) s+=i*i;cout<<"s="<<s<<endl;}1、答:程序的功能是:计算并输出22+42+62+……+302的值2、int s1(int n){int x;if(n==1) x=1;else x=s1(n-1)+n*n;return x;}3、void fun5(char* a, const char* b){while(*b) *a++=*b++;*a=0;}4、void fun3(int a[][N], int m, int n, int& row, int& col){int x=a[0][0];row=col=0;for(int i=0;i<m;i++)for(int j=0;j<n;j++)if(a[i][j]>x) {x=a[i][j]; row=i; col=j;}}5、char* f8(char* str1, const char* str2){int i=0,j=0;while(str1[i]) i++;while(str2[j]) str1[i++]=str2[j++] ;str1[i]='\0';return str1;}二、【编写程序实现算法】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)1、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。

面向对象程序的设计课后习题答案

面向对象程序的设计课后习题答案

第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。

这种范型的主要特征是:程序=对象+消息。

面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。

第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。

面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。

这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。

[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。

对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。

类和对象之间的关系是抽象和具体的关系。

类是多个对象进行综合抽象的结果,一个对象是类的一个实例。

在面向对象程序设计中,总是先声明类,再由类生成对象。

类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。

[1_3]现实世界中的对象有哪些特征?请举例说明。

对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。

(3)有一组操作,每一个操作决定了对象的一种行为。

(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。

例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案《面向对象程序设计》作业及答案作业一1.类和对象的概念和关系是什么?对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

一个对象由一组属性和对这组属性进行操作的一组服务组成,类是具有相同属性和服务的一组对象的集合。

类是对象的模板,对象是类的实例2.用UML表示交通工具Vehicle类及名为car1,car2及car3的三个Vehicle对象3.简述对象之间的消息传递机制是如何实现的?当程序运行时,我们使用类和由类生成的对象来完成任务。

而要命令类或对象执行某项任务,就需要给它发送一条消息(message)。

为了能够处理所接收到的消息,类或对象必须拥有相应的方法(method)。

一个方法就是一个指令序列,也就是一段程序代码,类似于C语言中的函数。

为类定义的方法称为类方法(class method),为对象定义的方法称为实例方法(instance method)。

类方法可以通过类直接调用,实例方法则必须先创建类的实例才能够调用。

4.import语句的用途是什么?Java程序是否总要包括import语句?import保留字用于引入其他包中的类。

Java如果使用的都是同一包的类的话则不需要import保留字。

5.什么是Java的源文件?什么是字节码文件?Java的源文件是以.java结尾的文本文件,字节码文件是将Java源文件经过Java编译器编译后的文件,字节码文件不能直接运行,只能运行于Java虚拟机之上。

6.Java虚拟机是什么?它有作用是什么?Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。

Java语言的一个非常重要的特点就是与平台的无关性。

而使用Java 虚拟机是实现这一特点的关键。

一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。

而引入Java 语言虚拟机后,Java 语言在不同平台上运行时不需要重新编译。

Java 语言使用模式Java 虚拟机屏蔽了与具体平台相关的信息,使得Java 语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

面向对象程序设计习题及答案【精选文档】

面向对象程序设计习题及答案【精选文档】

面向对象程序设计一、选择填空1.关于C++与C语言的关系描述中,(D)是错误的.(A)C语言是C++的一个子集(B)C语言与C++是兼容的(C)C++对C语言进行了一些改进(D)C++和C语言都是面向对象的2.下面关于对象概念的描述中,(B)是错误的。

(A)对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3.下面关于类概念的描述中,(D)是错误的。

(A)类是抽象数据类型的实现(B)类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4.按照标识符的要求,(A)符号不能组成标识符。

(A)连接符(B)下划线(C)大小写字母(D)数字字符5.下列符号中,(C)不可作为分隔符。

(A),(B):(C)?(D);6.在16位机中,int型字宽为(A)字节.(A)2(B)4(C)6(D)87.类型修饰符unsigned修饰(D)类型是错误的。

(A)char(B)int (C)long int(D)float8.对于int *pa[5];的描述,(D)是正确的.(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。

9.下列关于指针的运算中,(D)是非法的。

(A)两个指针在一定条件下,可以进行相等或不等的运算。

(B)可以有一个空指针赋值给某个指针.(C)一个指针可以加上一个整数。

(D)两个指针在一定条件下,可以相加.10.指针可以用来表示数组元素,下列表示中(A)是错误的。

已知:int a[3][7];(A)*(a+1)[5] (B)*(*a+3)(C)*(*(a+1))(D)*(&a[0][0]+2)11.下列表示引用的方法中,(A)是正确的。

《面向对象程序设计》期末考核试题样例及解答.doc

《面向对象程序设计》期末考核试题样例及解答.doc

《面向对象程序设计》期末查核试题样例及解答一、单项选择(每题 1分,12小题,共12分)C++源程序言件的缺省扩展名为()。

A.cppB.exeC.objD.lik2.x>0||y==5 的相反表达式为()。

A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==53. 在下边的字符数组定义中,有语法错误的选项是( )。

A.chara[20]= “abcdefg”;B.chara[]=“x+y=55.”;C.chara[15];D.chara[10]= ’5’;以下正确的函数原型语句是()。

doublefun(intx,inty)doublefun(intx;inty)doublefun(int,int);doublefun(intx,y);5. 在下边储存类中,()的对象不是局部变量。

A. 外面静态类B. 自动类C. 函数形参D. 寄存器类6. 假设有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,则正确的语句是()。

A.strcpy(book->title, ”WangTao”);B.strcpy(book.title,”WangTao”);C. strcpy(*book.title, ”WangTao”);D.strcpy((*book)->title, ”WangTao”);7. 软件产品所拥有的所有或部分地再用于新的应用的能力称为该软件的()。

A. 可保护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,往常把含有main()函数的文件称为()。

A. 主文件B. 实现文件C. 程序言件D. 头文件9. 在一个用链表实现的行列类中,假设每个结点包括的值域用elem表示,包括的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail 表示,若链队为空,则进行插入时一定把新结点的地点赋给 ( ) 。

最新面向对象程序设计课后习题答案

最新面向对象程序设计课后习题答案

第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。

这种范型的主要特征是:程序=对象+消息。

面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。

第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。

面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。

这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。

[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。

对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。

类和对象之间的关系是抽象和具体的关系。

类是多个对象进行综合抽象的结果,一个对象是类的一个实例。

在面向对象程序设计中,总是先声明类,再由类生成对象。

类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。

[1_3]现实世界中的对象有哪些特征?请举例说明。

对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。

(3)有一组操作,每一个操作决定了对象的一种行为。

(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。

例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。

面向对象程序设计(大作业)

面向对象程序设计(大作业)

一、名词解释(每题4分,共40分)1.面向对象面向对象:相对于面向过程而言的,所谓面向对象就是不在追求其操作的过程而是去实现其中的方法。

2.对象对象:对象就是用来描述客观事物的一个实体,有一组属性和方法构成的。

3.构造函数构造函数:主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new 运算符一起使用在创建对象的语句中,也是一种特殊的方法。

4.析构函数析构函数:是与构造函数相反,当对象结束其生命周期时,系统自动执析构函数。

其主要作用是用delete释放建立对象用new开辟内存空间。

5.继承继承:继承是指一个对象直接使用另一对象的属性和方法6.多态多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性7.引用引用:使用它指向了一个A对象,也可以说它引用了一个A对象8.友元友元:指某些虽然不是类成员却能够访问类的所有成员的函数。

9.模板模板:某种事物所依照的样本10.异常处理异常处理:是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况。

二、综合回答题(每小题15分,共60分)1.请介绍运算符重载的意义。

答:所谓重载,就是重新赋予新的含义。

运算符函数重载就是对原有元算符进行赋予新的含义从而实现运算符的重载.可以实现运算符重载的包括:算术运算符:+,-,*,/,%,++,--;位操作运算符:&,,~,^,<<,>>逻辑运算符:!,&&,;比较运算符:<,>,>=,<=,==,!=;赋值运算符:=,+=,-=,*=,/=,%=,&=,=,^=,<<=,>>=;其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*不能实现运算符重载的运算符包括:.,.*,::,?:2.谈谈多态的意义。

答:封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了代码重用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

201503考试批次
《面向对象程序设计》结课作业
学生姓名学习中心
学号
专业年级层次
北京语言大学网络教育学院
《面向对象程序设计》结课作业
注意:
本学期所布置的结课作业,请同学一律按照以下要求执行:
1) 结课作业提交起止时间:2015年1月26日—3月22日。

(届时平台自动关闭,逾期不予接收。


2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;
3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;
4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;
5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。

一、【程序分析题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,本题要求读懂题目中的程序或函数,写出程序或函数的功能)
3、void fun5(char* a, const char* b)
{
while(*b) *a++=*b++;
*a=0;
}
答:实现字符串系统函数strcpy的功能,把b所指的字符串拷贝到a所指的字符数组空间中。

二、【编写程序实现算法】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)
1、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。

55555
4444
333
22
1
答:
void p(int n)
{
for(int i=0; i<n; i++) cout<<n;
cout<<endl;
p(n-1);
}
}
三、【程序设计题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题40分,根据题目要求编写完整程序实现,要求程序能够正常运行,没有语法错误)
3、应用C++的多态性编写一个程序,编写程序计算正方体、球体和圆柱体的表面积和体积。

#include<iostream>
using namespace std;
#define n 3.14
class Shuju
{
public:
virtual void biaomianji()=0;
virtual void tiji()=0;
};
class zhengfangti:public Shuju
{
public:
zhengfangti(int a){this->a=a;}
void biaomianji();
void tiji();
private:
int a ;
};
void zhengfangti::biaomianji()
{
cout<<"正方形的表面积为"<<6*a*a<<endl;
}
void zhengfangti::tiji()
{
cout<<"正方形的体积为"<<a*a*a<<endl;
}
class qiuti:public Shuju
{
qiuti(int b){this->b=b;}
void biaomianji();
void tiji();
private:
int b ;
};
void qiuti::biaomianji()
{
cout<<"球体的表面积为"<<4*n*b*b<<endl;
}
void qiuti::tiji()
{
cout<<"球体的体积为"<<(4.0/3.0)*n*b*b*b<<endl;
}
class yuanzhuti:public Shuju
{
public:
yuanzhuti(int r,int d){this->r=r;this->d=d;}
void biaomianji();
void tiji();
private:
int r,d;
};
void yuanzhuti::biaomianji()
{
cout<<"圆柱体的表面积为"<<2*n*r*r+2*n*r*d<<endl; }
void yuanzhuti::tiji()
{
cout<<"圆柱体的体积为"<<n*r*r*d<<endl;
}
void fun(Shuju *ptr)
{
ptr->biaomianji();
}
void fun1(Shuju *ptr)
{
ptr->tiji();
}
void main()
{
zhengfangti zheng(3);
qiuti qiu(4);
yuanzhuti yuanzhu(3,4);
fun(&zheng);
fun1(&zheng);
fun(&qiu);
fun1(&qiu);
fun(&yuanzhu);
fun1(&yuanzhu);
}
实验结果:。

相关文档
最新文档