浙江大学远程教育2015面向对象程序设计在线作业答案

合集下载

(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案1:第一次作业2:第二次作业3:第三次作业4:第四次作业5:第五次作业6:第六次作业1:[论述题]编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击"=”按钮时,在第三个文本框中输出其乘积。

参考答案:问题(1):Java程序分为Java应用程序(或Java application)和Java小应用程序(或Java applet);这段程序是Java小应用程序。

问题(2):界面上包含一个标签(JLabel),一个按钮(JButton)和一个文本框(JTextField);点击按钮后,文本框内显示“好好学习,天天向上”。

问题(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。

2:[论述题]请设计一个软件包。

要求该软件包至少拥有正方形类、圆类。

要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。

然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。

在创建这些实例对象时,构造方法的调用参数值分别是:正方形:左上定点的坐标为(5,10),边长为15。

圆形:圆心的坐标为(0,0),圆心为15。

参考答案:问题(1):Test3是SuperTest的子类(或SuperTest是Test3的父类,或继承关系)。

问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。

问题(3):程序的输出是:Hi, I am OliveNice to meet you!Age is 7My age is 7My parent's age is 353:[论述题]编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件"score.txt”中。

面向对象程序设计离线作业答案

面向对象程序设计离线作业答案

浙江大学远程教育学院《面向对象程序设计》课程作业答案第2章【】测试下面的注释(它在C++风格的单行注释中套入了类似于C的注释)是否有效。

name[3]='a'; B. name="lin";C. name=new char[5];D. cout<<name[3];【】假设已经有定义“char * const name="chen";”下面的语句中正确的是( A )。

A. name[3]='q';B. name="lin";C. name=new char[5];D. name=new char('q');【】假设已经有定义“const char * name="chen";”下面的语句中错误的是(A )。

A. name[3]='q';B. name="lin";C. name=new char[5];D. name=new char('q');【】重载函数在调用时选择的依据中,( B )是错误的。

A.函数名字 B.函数的返回类型C.参数个数 D.参数的类型【】在( A )情况下适宜采用内联函数。

A.函数代码小,频繁调用 B.函数代码多,频繁调用C.函数体含有递归语句 D. 函数体含有循环语句【】下列描述中,( C)是错误的。

A. 内联函数主要解决程序的运行效率问题B. 内联函数的定义必须出现在内联函数第一次被调用之前C. 内联函数中可以包括各种语句D. 对内联函数不可以进行异常接口声明【】在C++中,关于下列设置默认参数值的描述中,( B )是正确的。

A.不允许设置默认参数值B.在指定了默认值的参数右边,不能出现没有指定默认值的参数C.只能在函数的定义性声明中指定参数的默认值D. 设置默认参数值时,必须全部都设置【】下面的类型声明中正确是( D )。

面向对象程序设计--远程教育习题及答案(4)

面向对象程序设计--远程教育习题及答案(4)

3. #include <iostream.h>class A{int i;public:virtual void fun()=0;A(int a){i=a;}};class B:public A{int j;public:void fun(){cout<<"B::fun()\n"; }B(int m,int n=0):A(m),j(n){}};void main(){A *pa;B b(7);pa=&b;}答案:B(int m,int n=0):A(m),j(n){}因为基类是抽象类,不能被实例化,所以在派生类中不能调用初始化基类对象。

所以B(int m,int n=0):A(m),j(n){}错误,删去A(m)。

[修改]B(int m,int n=0):j(n){}4. #include <iostream.h>class X{public:int x;public:X(int x){cout<<this->x=x<<endl;}X(X&t){x=t.x;cout<<t.x<<endl;}void fun(X);};void fun(X t){cout<<t.x<<endl;}void main(){fun(X(10));}答案:cout<<this->x=x<<endl;要输出this->x=x表达式的值要加括号。

[修改]cout<<(this->x=x)<<endl;5. #include <iostream.h>#include <string.h>class Bas{public:Bas(char *s="\0"){strcpy(name,s);}void show();protected:char name[20];};Bas b;void show(){cout<<"name:"<<<<endl;}void main(){Bas d2("hello");show();}答案:void show();是普通函数不是成员函数,但是要访问类成员,需要定义为友元函数。

面向对象程序设计课后答案(完整版)

面向对象程序设计课后答案(完整版)

第二章2-4#include <iostream>using namespace std;Add(int a,int b);int main(){int x,y,sum;cout<<"please input x and y:";cin>>x>>y;sum = add(x,y);cout <<x<<"+"<<y<<"="<<sum<<endl;}Add(int a,int b){return a+b;}2-5(1)this is a C++ program.(2)x=50.6 y=10 z=Ax=216.34 y=10 z=Ax=216.34 y=2 z=Ax=216.34 y=2 z=E(3)x y z500 1000 0500 1500 1500500 200 15002-6#include <iostream>using namespace std;int main(){int *p,*init;int countp=0;int countn=0;p = new int[20];init = p;for(int i=0;i<20;i++){cin>>*p;p++;}p = p-20;for( i=0;i<20;i++){if(*p>0) countp++;if(*p<0) countn++;cout<<*p<<" ";p++;}cout<<"正数有:"<<countp<<endl; cout<<"负数有:"<<countn<<endl;p = init;delete[] p;return 0;}2-7不做要求#include <iostream>//#include <string>using namespace std;void checkagescore(string name,int age) {if (name == "exit") throw name;if(age<0||age>50)throw age;int main(){string name;int age;for(int i=0 ;i<5 ;i++ ){cin.ignore ();getline(cin,name );cin>>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<" age :"<<age<<endl;}return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B (7)B (8)C (9)C3-7(1)main()函数中p1.age = 30;语句是错误的。

免费在线作业答案福师《面向对象的程序设计》在线作业一15秋答案

免费在线作业答案福师《面向对象的程序设计》在线作业一15秋答案

福师《面向对象的程序设计》在线作业一15秋答案福师《面向对象的程序设计》在线作业一一、单选题(共 9 道试题,共 18 分。

)1. 在UML中,包含关系表示为虚线箭头加()字样。

A. <>B. <>C. <>D. <>正确答案:A2. RUP的核心工作流中,分为()个核心过程工作流和3个核心支持工作流。

A. 4面向对象编程B. 5C. 6D. 7正确答案:C3. 时序图是以()为序的表示方法,主要用来描述对象之间的时间顺序。

A. 空间B. 时间C. 随机D. 线性正确答案:B4. 在UML中,扩展关系表示为虚线箭头加()字样。

A. <>B. <>C. <>D. <>正确答案:B5. RUP的中文全称是()A. 统一开发过程B. 统一联合过程C. 面向对象程序设计D. 类的实现正确答案:A6. 要表示一个构造型,可以将构造型名称用一对()括起来,然后放置在构造型模型元素名字的邻近。

A. 圆括号B. 方括号C. 尖括号D. 无需括号正确答案:C7. 在UML中,时序图将交互关系表示为()。

A. 三维图D. 随机图形正确答案:C8. 对象约束语言是一种()语言,它主要用于表示UML模型中施加于模型上的约束。

A. 面向对象B. 过程化C. 形式化D. 结构性正确答案:C9. UML的四层模型体系结构中,运行时实例层通常称为()层A. M0B. M1C. M2D. M3正确答案:A福师《面向对象的程序设计》在线作业一二、多选题(共 18 道试题,共 36 分。

)1. UML元模型由UML包的内容来规定,其中UML包分成用于()和()建模的包。

A. 数据性B. 结构性C. 行为性D. 操作性正确答案:BC2. 多态性包括以下几种()A. 编译时的多态性B. 运行时的多态性C. 通过继承实现多态性D. 通过抽象类实现的多态性正确答案:AB3. 状态图的图标可以分为以下几个部分:()。

2015秋浙江大学《面向对象程序设计》在线作业及答案

2015秋浙江大学《面向对象程序设计》在线作业及答案

2015秋浙江大学《面向对象程序设计》在线作业及答案您的本次作业分数为:100分单选题1.下面有关析构函数特征的描述中,正确的是()。

• A 一个类中可以定义多个析构函数• B 析构函数名与类名完全相同• C 析构函数不能指定返回类型• D 析构函数可以有一个或多个参数正确答案:C单选题2.派生类中虚函数原型的()。

• A 函数类型可以与基类中虚函数的原型不同• B 参数个数可以与基类中虚函数的原型不同• C 参数类型可以与基类中虚函数的原型不同• D 以上都不对正确答案:D单选题3.类和派生类正确的关系是()。

• A 从基类到派生类称为继承。

• B 从派生类到基类称为派生。

• C 派生类包含了基类。

• D 从基类到派生类称为派生。

正确答案:D单选题4.析构函数的特征是()。

• A 析构函数可以有多个参数。

• B 析构函数只能在类体内定义。

• C 一个类中只能定义一个析构函数。

• D 一个类中能定义多个析构函数。

正确答案:C单选题5.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是()。

• A virtualshow()=0;• B virtualvoidshow();• C virtualvoidshow()=0;• D voidshow()=0virtual;正确答案:C单选题6.若有定义char *words[]={"FORTRAN", "BASIC","PASCAL","JAVA","C"};则输出结果为AVA的语句是()。

• A printf("%s",*words[3]+1)• B printf("%s",*words[4]+1)• C printf("%s",*(words+3)+1)• D printf("%s",(*words+4)+1)单选题7.已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为()。

15秋西电《面向对象程序设计(C++)》在线作业 答案

15秋西电《面向对象程序设计(C++)》在线作业 答案

西电《面向对象程序设计(++)》在线作业一、单选题(共 25 道试题,共 100 分。

)1. ()是面向对象语言中的一种复合数据类型。

它是复合数据类型的超集。

. 复合数据类型. 类. 对象. 成员. 引用正确答案:2. 阅读下面程序int list[]=nw int[10]##for(int I=0##I<=list.lngth##I++) list[I]=I##list[0]的值为( ). 10. 9. 不一定. 出错正确答案:3. 强制挂起线程,而且指定挂起时间的函数是(). slp( ). suspn( ). rsum( ). join( )正确答案:4. 阅读下面程序int list[]=nw int[10]##for(int I=0##I<=list.lngth##I++) list[I]=I##list[0]的值为( ). 10. 9. 不一定. 出错正确答案:5. 设有如下定义:设有如下定义: strutsk{ int; flot; }t; int*p; 若要使p指向t中的成员,则正确的赋值语句为()。

. p=&;. p=t.;. p=&t.;. *p=t.;正确答案:6. 下列对派生类的描述中,错误的是()。

. 一个派生类可以作为另一个派生类的基类. 派生类至少有一个基类. 派生类的缺省继承方式为privt. 派生类只继承了基类的公有成员和受保护成员正确答案:7. 一个pplt程序(). 不用修改就一定可以当作应用程序运行. 怎么修改都不能当作应用程序运行. 可以又作为应用程序运行. 要视操作系统和浏览器而定正确答案:8. 阅读下面程序 lss x3125 { puli stti voi min(String [] rgs) { int i=0## i=i++## Systm.out.println(i)## }}} 现在想先编译再运行该程序,结果是(). 0. 1. 2. 出错正确答案:9. uiolip的()方法可以循环播放声音文件. ply. loop. ontinu. rply正确答案:10. 阅读下面程序 String s="Hllo"##String t=s##t="1234"t代表的字符串为. null. 1234. Hllo. H正确答案:11. int lmnts[]={1,2,3,4,5,6}## int hol[]={10,9,8,7,6,5,4,3,2,1}## 要把lmnts数组中的所有元素复制到hol数组中,因该使用. Systm.rryopy(lmnts,0,hol,0,lmnts.lngth). Systm.rryopy(hol,0,lmnts,0,lmnts.lngth). Systm.rryopy(hol,0,lmnts,0,hol.lngth). Systm.rryopy(lmnts,0,hol,0,hol.lngth)正确答案:12. ++语言中whil循环和o-whil循环的主要区别是()。

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

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

实验一熟悉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功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。

15秋浙大《程序设计基础(VB)》在线作业答案

15秋浙大《程序设计基础(VB)》在线作业答案

一、单选题(共35 道试题,共70 分。

)V 1. 设a=5,b=6,c=7,d=8 ,执行语句X=IIf((a>b)And(c>d),10,20) 后, X 的值为()。

A. 10B. 20C. TrueD. False满分:2 分2. 不能正确表示条件“两个整型变量A和B之一为0,但不能同时为0”的布尔表达式是()。

A. A*B=0 AND A<>BB. (A=0 OR B=0) AND A<>BC. A=0 AND B<>0 OR A<>0 AND B=0D. A*B=0 AND (A=0 OR B=0)满分:2 分3. 以下叙述中错误的是()。

A. 打开一个工程文件时,系统自动装入与该工程有关的窗体文件B. 保存 Visual Basic 程序时,应分别保存窗体文件及工程文件C. Visual Basic 应用程序只能以解释方式执行D. 窗体文件包含该窗体及其控件的属性满分:2 分4. 以下说法正确的是()。

A. 任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器B. 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器C. 任何时候都可以通过单击标准工具栏上的“菜单编辑器”按钮打开菜单编辑器D. 只有当代码窗品为当前活动窗口时,才能找开菜单编辑器满分:2 分5. 当我们输入代码时,Visual Basic可以自动检测什么错误。

A. 语法错误B. 编译错误C. 运行错误D. 逻辑错误满分:2 分6. 设置对象的属性是程序设计的重要步骤,关于“属性”的说明错误的是( )。

A. 属性是一组可以由用户定义的数据B. 属性名称是由用户定义确定的C. 属性用来描述形象的性质D. 同一种类型的对象具有相同的属性满分:2 分7. 窗体中含有一个命令按钮控件comAbout(按钮标题显示“关于…”),代码窗口中含有如下代码: Private Sub comAbout_Click() Form2.Show End Sub 程序执行时,单击“关于…”按钮,显示Form2窗体。

2015年电大作业,面向对象程序设计大作业答案

2015年电大作业,面向对象程序设计大作业答案

一、编程题。

根据程序要求,写出函数的完整定义。

(40分)1.写一个函数,找出给定字符串中大写字母字符(即’A’-‘Z’这26个字母)的个数(如字符串”China Computer Wrold”中大写字母字符的个数为3个)。

函数的原型:int CalcCapital (char *str);函数参数:str为所要处理的字符串;函数返回值:所给字符串中数字字符的个数答:int CalcCapital (char *str){if (str == NULL) return 0; //判断字符指针是否为空int num_of_Capital = 0; //记录大写字母字符个数的变量,初值为0for(int i=0; str[i] != 0x0; i++)if (str[i] <= 'A' && str[i] >= 'Z') num_of_ Capital ++; //若是大写字母,则总数加1return num_of_ Capital; //返回大写字母字符数}2.写一个函数,用递归函数完成以下运算:sum(n) = 1 –1/2 + 1/3 –1/4 + …-(1/n)*(-1)n (其中n>0)函数原型:float sum(int n);函数参数:n为正整数。

函数返回值:相应于给定的n,右边表达式运算结果。

提示:你可以使用递归表达式:sum(n) = sum(n-1) -(1/n)*(-1)n答:float sum(int n){if (n == 1) return 1;else return sum(n-1) -(1.0/n)*(-1)n;}3. 给定新数值,在一个按节点所存放数值从大到小排序的链表中,找适当位置插一个新节点,仍保持有序的链表,写一个函数,完成此操作。

函数的原型:Node * InsNode(Node * head, int newV alue);其中,链表节点的定义如下:struct Nodee{int V alue; //存放数值Node * next; //指向链表中的下一个节点};函数参数:函数的第一个参数head指向链表头一节点的指针,如果链表为空,则head的值为NULL。

2015面向对象程序设计结课作业答案说课讲解

2015面向对象程序设计结课作业答案说课讲解

201503考试批次《面向对象程序设计》结课作业北京语言大学网络教育学院《面向对象程序设计》结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮;二、提交路径:个人平台首页--学习中的课程,点击该课程名称--点击“结课作业”--点击“浏览”按钮,选择要上传的文档后点击“提交作业”即可。

三、结课作业提交起止时间:2015年1月26日—3月22日。

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

)四、提交的文档格式必须为word文档,截止日期前可多次提交,平台只保留最后一次提交的文档;五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按0分处理。

一、【程序分析题】(本大题共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的情况。

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

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

面向对象程序设计课后答案面向对象程序设计是计算机科学领域的一门重要课程,通过学习这门课程,我们可以深入理解面向对象的编程思想和方法。

本文将针对面向对象程序设计的一些常见问题给出详细的答案,帮助读者更好地理解和掌握这门课程。

一、什么是面向对象程序设计?面向对象程序设计(Object-Oriented Programming,简称OOP)是一种软件开发的方法和思想,它将程序中的数据和操作数据的方法组合成一个对象,通过对象的相互调用来完成任务。

面向对象程序设计可以更好地模拟现实世界的事物和关系,提高软件的可维护性和可扩展性。

二、面向对象程序设计的基本特征有哪些?1. 封装(Encapsulation):将数据和操作封装在一个对象中,对外部隐藏内部的实现细节,提供统一的接口进行访问。

2. 继承(Inheritance):通过继承可以使一个类获取另一个类的属性和方法,减少代码的重复性,提高代码的复用性。

3. 多态(Polymorphism):不同的对象可以对相同的消息做出不同的响应,同一个方法可以根据具体的对象类型来执行不同的操作。

三、什么是类和对象?1. 类(Class):类是一种抽象的数据类型,它定义了对象共同具有的属性和方法。

类是面向对象程序设计的基础,用于描述对象的特征和行为。

2. 对象(Object):对象是类的一个实例,具有类定义的属性和方法。

对象是面向对象程序设计的基本单位,可以通过对象来访问和操作数据。

四、如何定义一个类?在面向对象程序设计中,可以通过以下步骤来定义一个类:1. 确定类的名称:类名通常使用大写字母开头,采用驼峰命名法。

2. 确定类的属性:类的属性是描述对象特征的变量,可以包括基本数据类型和其他对象。

3. 确定类的方法:类的方法是描述对象行为的函数,可以有参数和返回值,用于操作类的属性。

五、如何创建对象?在面向对象程序设计中,可以通过以下步骤来创建对象:1. 使用关键字new来实例化一个对象:Object obj = new Object();2. 调用对象的构造方法(Constructor):构造方法用于初始化对象的属性,在类中可以定义一个或多个构造方法。

面向对象程序设计--远程教育习题及答案(2)

面向对象程序设计--远程教育习题及答案(2)
② p.y-y
③ distance(p2)
[解析]由于求两点之间距离的函数“distance”为成员函数,所以由该函数的this指针所指对象可用作起点(参数之一),另一个用作终点的参数,必须在函数的参数表中显式地给出。dx 和dy分别计算两个结点间x和y坐标间的距离,因此应该为:dx=p.x – x 和 dy =p.y – y。对它们求平方相加后开方即可,得到两点间的距离:(float)srrt(da*da+dy*dy)。在主程序中求p1和p2两个结点之间的距离,由于由p1调用距离函数,所以由p2作为它的参数,即distance(p2)。
};
void main()
{ Menu *pm[3];
pm[0]= new Menu1;
pm[1]=new Menu2;
pm[2]=new Menu3;
int num;
do {
cout<<”1—Menu1 \n”;
cout<<”2—Menu2 \n”;
cout<<”3—Menu3 \n”;
cout<<”enter your choose !\n”;
28.下面是一个菜单程序,请在空格处填上正确的语句,使之能正常地工作。
#include
class Menu {
public: virtual void fun()=0;
};
class Menu1:public Menu {
public: void fun() { cout<<”do something for Menu1 !\n”; }
26.仔细阅读下列求两个点之间距离的程序,根据程序的输出结果在划线处填入正确语句。
#include

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

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

面向对象程序设计作业参考答案《面向对象程序设计》作业及答案作业一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 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

2014-浙江大学远程教育学院面向对象程序设计在线作业98分

2014-浙江大学远程教育学院面向对象程序设计在线作业98分

您的本次作业分数为:98分1.有关运算符重载正确的描述是()。

A C++语言允许在重载运算符时改变运算符的操作个数B C++语言允许在重载运算符时改变运算符的优先级C C++语言允许在重载运算符时改变运算符的结合性D C++语言允许在重载运算符时改变运算符原来的功能正确答案:D2.下面有关友元函数的描述中,正确的说法是()。

A 友元函数是独立于当前类的外部函数B 一个友元函数不能同时定义为两个类的友元函数C 友元函数必须在类的外部定义D 在外部定义友元函数时,必须加关键字friend正确答案:A3.下面有关对构造函数的描述中,正确的是()。

A 构造函数可以带有返回值B 构造函数的名字与类名完全相同C 构造函数必须带有参数D 构造函数必须定义,不能默认正确答案:B4.类和派生类的相互关系不正确的是()。

A 从基类到派生类称为派生。

B 派生类还可以再作为另一派生类的基类。

C 从派生类到基类称为派生。

D 从派生类到基类称为继承。

正确答案:C5.不是构造函数的特征是()。

A 构造函数与类同名。

B 构造函数必须说明返回类型。

C 构造函数可以有形式参数。

D 编译系统会自动调用构造函数。

正确答案:B6.打开磁盘文件的打开方式中,不能使用的是()。

A ios::bothB ios::appC ios::intD ios::out正确答案:A7.置虚基类的目的是()。

A 简化程序B 消除二义性C 提高运行效率D 减少目标代码正确答案:B8.表示year为闰年的c语言表达式为()。

A (year%4==0&&year%100?!=0)&&(year%400==0)B (year%4==0&&year%100?!=0)||(year%400==0)C (year%4==0)&&(year%400==0)D (year%4==0)||(year%400==0)正确答案:B9.类成员在派生类中的访问属性描述中,正确的是()。

浙大《面向对象程序设计》在线作业

浙大《面向对象程序设计》在线作业

1. cerr与clog是( )类的对象。

A. fstreamB. ostreamC. istreamD. ios2. 面向对象程序设计着重于( )的设计。

A. 对象B. 类C. 算法D. 数据3. 在声明类时,下面说法正确的是()。

A. 可以在类的声明中给数据成员赋初值B. 数据成员的数据类型可以是registerC. private,public,proected 可以按任意的顺序出现D. 没有用private,public,proected定义的数据成员是共有成员4. 关于输出运算符<<的重载,下列说法不正确的是( )。

A. 运算符函数的返回值类型是ostream&。

B. 重载的运算符必须定义为类的成员函数。

C. 运算符函数的第一个参数的类型是ostream&。

D. 运算符函数有两个参数。

5. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( )。

A. 需要加上类域的限定B. 不需加上类域的限定C. 类域的限定可加可不加D. 不需要任何限定6. 对重载的函数来说,下面叙述不正确的是()A. 参数的类型不同B. 参数的顺序不同C. 参数的个数不同D. 参数的个数、类型、顺序都相同,但返回值类型不同7. 下面关于析构函数特征的描述正确的是()。

A. 一个类中可以定义多个析构函数B. 析构函数名与类名相同C. 析构函数不能指定返回类型D. 析构函数可以有一个或多个参数8. 关于new运算符的描述中错误的是()。

A. 用它创建对象和堆对象数组B. 用它创建对象和堆对象数组时要调用相应的构造函数C. 用它创建对象和堆对象数组时可用运算符delete释放D. 用它创建堆对象数组时可指定初始值9. 有关运算符重载正确的描述是()。

A. C++语言允许重载运算符时改变运算符的操作个数B. C++语言允许重载运算符时改变运算符的优先级C. C++语言允许重载运算符时改变运算符的结合性D. C++语言允许重载运算符时改变运算符原来的功能10. 使用如setfill()的操作符对数据进行格式输出时,应包含( )头文件。

浙大远程_面向对象程序设计的_离线作业答案剖析

浙大远程_面向对象程序设计的_离线作业答案剖析

浙江大学远程教育学院《面向对象程序设计》课程作业姓名:学号:年级:学习中心:—————————————————————————————第2章【2.3】测试下面的注释(它在C++风格的单行注释中套入了类似于C的注释)是否有效。

//this is a strange /*way to do a comment*/答:此注释有效,单行注释中可以嵌套 / * …… * /方式的注释。

【2.4】以下这个简短的C++程序不可能编译通过,为什么?#include<iostream>using namespace std;sum(int a,int b)int main(){int a,b,c;cout<<"Enter two numbers:";cin>>a>>b;c=sum(a,b);cout<<"sum is:"<<c;return 0;}sum(int a,int b){ return a+b;}答:不可能通过编译.在using namespace std;后面加上sum(int a,int b)就可以通过。

【2.5】回答问题。

(1) 以下两个函数原型是否等价:float fun(int a,float b,char *c);float fun(int,float,char * );(2) 以下两个函数的第一行是否等价:float fun(int a,float b,char * c);float fun(int,float,char * );答:(1)这两个函数原型是等价的,函数原型中的参数名可以缺省。

(2)这两个函数的第1行是不等价的,因为这个函数的第1行中必须包含参数名。

【2.6】下列语句中错误的是(D )。

A.int *p=new int(10);B.int *p=new int[10];C.int *p=new int;D.int *p=new int[40](0);【2.7】假设已经有定义“const char * const name="chen";”下面的语句中正确的是(D )。

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

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

15春西交《面向对象程序设计》在线作业答案
西交《面向对象程序设计》在线作业
一、单选题(共 25 道试题,共 50 分。


1. 在成员函数中进行双目运算符重载时,其参数表中应带有()个参数。

A. 0 B.
1 C.
2 D. 3
正确答案:B
2. 类中定义的成员默认为()访问属性。

A. public B. private C. protected
D. friend
正确答案:B
3. 以下叙述中正确的是()
A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C. 在程序中使用内
置函数使程序的可读性变差
D. 在定义函数时可以在形参表的任何位置给出缺省形参值正确答案:B
4. 假定AB为一个类,则执行“AB x;”语句时将自动调用该类的 ( ).。

A. 有参
构造函数 B. 无参构造函数 C. 复制构造函数 D. 赋值重载函数正确答案:B
5. 函数原型语句正确的是()。

A. int Function(void a) B. void Function (int); C. int Function(a); D. void int(double a); 正确答案:B
6. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。

A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符 C. 作为友元函数重
载的2元运算符
感谢您的阅读,祝您生活愉快。

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

窗体顶端您的本次作业分数为:95分1.【第1章】不是面向对象系统的特性是()。

A 封装性B 继承性C 保密性D 多态性正确答案:C2.【第1章】面向对象(O-O)程序设计是一种新的程序设计范型。

这种范型的主要特征是()。

A 程序=对象+消息B 程序=函数+调用C 程序=算法+数据D 程序=过程+调用正确答案:A3.【第2章】以下叙述中不正确的是()。

A 在不同的函数中可以使用相同名字的变量B 函数中的形式参数是局部变量C 在一个函数内定义的变量只在本函数范围内有效D 在一个函数内的复合语句中定义的变量在本函数范围内有效正确答案:D4.【第2章】假设已经有定义“char *Const name="chen";”下面的语句中正确的是()。

A name[3]='q';B name=C name=newChar[5];D name=newChar('q');正确答案:A5.【第2章】下列选项中,当x 为大于1 的奇数时,值为0 的表达式是()。

A x%2==1B x%2==0C x%2!=0D x/2正确答案:B6.【第2章】如果定义并初始化一个数组int s[10]={1,2,3,4,5,6,7,8,9,10};则执行printf("%d\n",a[a[1]*a[2]])语句后的输出结果是()。

A 3B 4C 7D 2正确答案:C7.【第2章】下面有关重载函数的说法中正确的是()。

A 重载函数必须具有不同的返回值类型B 重载函数形参个数必须不同C 重载函数必须有不同的形参列表D 重载函数名可以不同正确答案:C8.【第2章】下面的类型声明中正确是()。

A int&a[4];B int&*p;C int&&q;D inti,*p=&i;正确答案:D9.【第2章】在面向对象的程序设计C++中,当用cin、cout输入、输出时程序头部要()。

A #include<stdio.h>B #include<iostream.h>C #include<stdli正确答案:B10.【第2章】若定义intA[2][3]={1,2,3,4,5,6};则值为4的数组元素是()。

A a[1][0]B a[1][1]C a[2][0]D a[2][1]正确答案:A11.【第2章】关于new运算符的下列描述中,()是错误的。

A 它可以用来动态创建对象和对象数组B 使用它创建的对象或对象数组可以使用运算符delete删除C 使用它创建对象时要调用构造函数D 使用它创建对象数组时必须指定初始值正确答案:D12.【第2章】执行x=-1;do { x=x*x;} while (!x);循环时,下列说法正确的是()。

A 循环体将执行一次B 循环体将执行两次C 循环体将执行无限次D 系统将提示有语法错误正确答案:A13.【第2章】charA[10] = "abcde",B[8]= "fghi";strcpy(a+3,b+1);printf("%d ",strlen(a) );执行下面程序后的输出结果为()。

A 5B 6C 9D 10正确答案:B14.【第2章】下列语句中错误的是()。

A int*p=newint(10);B int*p=newint[10];C int*p=newint;D int*p=newint[40](0);正确答案:D15.【第2章】下列表达式中,不正确的表达式是()。

A a=1,b=1B y=int(x)C a=b=5D i++正确答案:B16.【第2章】在C程序中,如果有FILE *fp;则对于文件指针fp,下面说法正确的是()。

A fp是文件读写位置B 可以用一个fp同时对多个文件缓冲区操作C fp是用以描述文件缓冲区信息的结构的指针D 当对文件进行读写操作时,fp也跟着移动正确答案:C17.【第2章】设有以下说明语句,则下面的叙述中不正确的是()。

struct XYZ {int x ;float y;Char z ;} xyz;A x,y,z都是结构成员名B structXYZ是结构类型名C struct是定义结构类型的关键字D XYZ是结构类型名正确答案:D18.【第2章】表示year为闰年的c语言表达式为()。

A (year%4==0&&year%100?!=0)&&(year%400==0)B (year%4==0&&year%100?!=0)||(year%400==0)C (year%4==0)&&(year%400==0)D (year%4==0)||(year%400==0)正确答案:B19.【第2章】假设已经有定义“constChar * name="chen";”下面的语句中错误的是()。

A name[3]='q';B name=C name=newChar[5];D name=newChar('q');正确答案:A20.【第2章】下列条件语句中,功能与其他语句不同的是()。

A if(a)printf("%d\n",x);elseprintf("%d\n",y)B if(a==0)printf("%d\n",y);elseprintf("%d\n",x)C if(a!=0)printf("%d\n",x);elseprintf("%d\n",y)D if(a==0)printf("%d\n",x);elseprintf("%d\n",y)正确答案:D21.【第2章】与数学式子对应的C语言表达式是()。

A 3*x^n/(2*x-1)B 3*x*n/(2*x-1)C 3*pow(x,n)/(2*x-1)D 3*pow(n,x)/(2*x-1)正确答案:C22.【第2章】若有定义char *words[]={"FORTRAN", "BASIC","PASCAL","JA V A","C"};则输出结果为A V A的语句是()。

A printf("%s",*words[3]+1)B printf("%s",*words[4]+1)C printf("%s",*(words+3)+1)D printf("%s",(*words+4)+1)正确答案:C23.【第2章】下列属于合法的C语言赋值语句的是()。

A a=b=58B i++C a=58,b=58D k=int(a+b)正确答案:A24.【第2章】执行下列程序段后,int *p,A = 10,B=1;p = &b;A =a + (*p)++ ;变量a,b 的值为:()。

A a=10,b=1B a=10,b=2C a=11,b=1D a=11,b=2正确答案:D25.【第2章】表达式:36.5-(12+7%4)/2.0的运算结果是()类型。

A doubleB intC floatD char正确答案:A26.【第2章】下列描述中,()是错误的。

A 内联函数主要解决程序的运行效率问题B 内联函数的定义必须出现在内联函数第一次被调用之前C 内联函数中可以包括各种语句D 对内联函数不可以进行异常接口声明正确答案:C27.【第2章】以下各语句或语句组中,正确的操作是()。

A chars[6]="123456";B char*s;s="123456";C char*s;gets(s);D chars[6];scanf("%s",&s);正确答案:B28.【第2章】C++程序中函数原型(函数声明)错误的写法是()。

A intAdd(intA,intB);B intAdd(int,int);C intAdd(intA,B);D intAdd(intA,int);正确答案:C29.【第2章】关于delete运算符的下列描述中,()是错误的。

A 它必须用于new返回的指针B 使用它删除对象时要调用析构函数C 对一个指针可以使用多次该运算符D 指针名前只有一对方括号符号,不管所删除数组的维数正确答案:C30.【第2章】已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为()。

A 14B 15C 16D 17正确答案:D31.【第2章】在C++中,关于下列设置默认参数值的描述中,()是正确的。

A 不允许设置默认参数值B 在指定了默认值的参数右边,不能出现没有指定默认值的参数C 只能在函数的定义性声明中指定参数的默认值D 设置默认参数值时,必须全部都设置正确答案:B32.【第2章】在()情况下适宜采用内联函数。

A 函数代码小,频繁调用B 函数代码多,频繁调用C 函数体含有递归语句D 函数体含有循环语句正确答案:A33.【第2章】重载函数在调用时选择的依据中,()是错误的。

A 函数名字B 函数的返回类型C 参数个数D 参数的类型正确答案:B34.【第3章】不是构造函数的特征是()。

A 构造函数与类同名。

B 构造函数必须说明返回类型。

C 构造函数可以有形式参数。

D 编译系统会自动调用构造函数。

正确答案:B35.【第3章】关于成员函数特征的下述描述,不正确的是()。

A 成员函数一定要在类内定义。

B 成员函数可以重载。

C 成员函数可以设置参数的默认值。

D 可在类内定义。

正确答案:A36.【第3章】对象是现实世界中的一个实体,其特性的是()。

A 必须有一个关键字,以示区别。

B 每个对象都有对象标识名。

C 只有数据属性。

D 只有操作函数。

正确答案:B37.【第3章】C++中,类和对象之间的关系是()。

A 结构类型和结构体的关系。

B 定义和被定义的关系。

C 调用和被调用的关系。

D 型和值的关系。

正确答案:A38.【第3章】现实世界中的对象,以下不是它的特性的是()。

A 每一个必须有一个名字以区别于其他对象;B 用属性来描述对象的某些特征;C 有一组操作,每组操作决定对象的一种行为;D 有一关键字class正确答案:D39.【第3章】对象是现实世界中的一个实体,不是其特性的是()。

相关文档
最新文档