天大18春《面向对象程序设计》在线作业一满分答案

合集下载

大学C++面向对象程序设计 2018试题及参考答案

大学C++面向对象程序设计 2018试题及参考答案

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………重点大学考试试题答案(A卷)2018 ~2019 学年1 学期面向对象程序设计课程一、单选题(每小题2分,共20分)CCDCB AAABA二、改错题(共3小题,每小题6分,共18分)1. main()函数第3句出错,因为类Complex无类类型转换函数,将Complex对象转换成float。

改正:在Complex中类增加:operator float(){ return real; }2. main()函数第2句出错,因为常对象obj不能调用非常成员函数,改正:在CTest类中:将CTest(int x)换成fCTest(int x) const。

或者将main()中const CTest obj(5);换成CTest obj(5);3. 当程序执行对象p2的析构函数时,对象p1的数据成员ptr出现了所谓的“指针悬挂问题”,这说明C++中提供给对象的默认的赋值运算符并不是万能的,解决的办法就是重载赋值运算符“=”,使对象不但能浅拷贝,还能实现深层拷贝。

STRING& STRING::operator=(const STRING&s){if(this==&s)return *this;delete ptr;ptr=new char[strlen(s.ptr)+1];strcpy(ptr,s.ptr);return *this;}三、读程序,给出程序的输出结果。

(每小题6分,共24分)【1】Constructor of PersonConstructor of StudentConstructor of PersonConstructor of TeacherDestructor of TeacherDestructor of PersonDestructor of StudentDestructor of Person【2】12,2【3】56789【4】1123444四、编程题(共38分=12分+12分+14分)1. 解答:#include<iostream.h>class Test ……………………………4分{ int x,y;public:void init(int,int);void print();};void Test::init(int i,int j) ……………………………4分{ x=i;y=j;}void Test::print() ……………………………4分{ cout<<"测试结果:"<<x<<"-"<<y<<"="<<x-y<<endl;}2.解答:①fraction operator +(fraction & f1,fraction & f2) { ……………………………4分int nfz = f1.fz*f2.fm+f1.fm*f2.fz;int nfm = f1.fm*f2.fm;return fraction(nfz,nfm);}②fraction & fraction::operator =(fraction & f) { ……………………………4分fz=f.fz;fm=f.fm;return *this;}③istream & operator >>(istream & is,fraction & f) { ……………………………4分is>>f.fz>>f.fm;return is;}3.解答:#include<iostream>using namespace std;class employee{ ……………………………4分protected:char name[20];int empNo;float salary;public:employee(char *cp="李强",int no=1001);employee(employee&);void setname(char *cp);void setempNo(int no);void setsalary(float sa);char*getname();int getempNo();float getsalary();void display();employee compsalary(employee *emp);};employee::employee(char *cp,int no){ int i=0;while(*cp){ name[i]=*cp;i++;cp++;}name[i]='\0';empNo=no;}employee::employee(employee &em){ int i=0;while([i]){ name[i]=[i];i++;}name[i]='\0';empNo=em.empNo;salary=em.salary;}void employee::setname(char *cp){ int i=0;while(*cp){ name[i]=*cp;i++;cp++;}name[i]='\0';}void employee::setempNo(int no){ empNo=no;}void employee::setsalary(float sa){ salary=sa;}char*employee::getname(){ return name;}int employee::getempNo(){ return empNo;}float employee::getsalary(){ return salary;}void employee::display(){ cout<<"工号为"<<empNo<<"的雇员"<<name<<"的月薪为"<<salary<<endl; }employee employee::compsalary(employee *emp){if(this->salary>=emp->salary)return *this;elsereturn *emp;}class worker : public employee ……………………………4分{public:worker(char*,int,int);void setproductNum(int n){ productNum=n;}int getproductNum(){ return productNum;}void pay();private:int productNum;static float proper; //每件产品的利润};float worker::proper=20; //假设每件产品的利润为20元worker::worker(char *name,int no,int pronum):employee(name,no){productNum=pronum;}void worker::pay(){salary=productNum*proper*0.2;}class technician : public employee ……………………………4分{public:technician(char*,int,float);void sethours(float h){ workHours=h;}float gethours(){ return workHours;}void pay();private:float workHours;static float payperhour; //科研人员每小时工作的酬金};float technician::payperhour=40; //假设科研人员每小时工作的酬金为40元technician::technician(char *name,int no,float hours):employee(name,no){ workHours=hours;}void technician::pay(){ salary=workHours*payperhour;}class salesman : public employee{public:salesman(char*,int,float);void setmonthlysales(int num){ monthlysales=num;}int getmonthlysales(){ return monthlysales;}void pay();private:float monthlysales;static float percent; //销售人员的销售提成};float salesman::percent=0.5; //假设销售人员的销售提成为50% salesman::salesman(char *name,int n,float sn):employee(name,n){monthlysales=sn;}void salesman::pay(){salary=monthlysales*percent;}void main() ……………………………2分{worker w1("张三",1001,1000);technician t1("李四",1002,200);salesman s1("王五",1003,10000);w1.pay();t1.pay();s1.pay();cout<<"工人"<<w1.getname()<<"的月薪为"<<w1.getsalary()<<"元\n";cout<<"科研人员"<<t1.getname()<<"的月薪为"<<t1.getsalary()<<"元\n";cout<<"销售人员"<<s1.getname()<<"的月薪为"<<s1.getsalary()<<"元\n"; }。

天津大学《面向对象程序设计》在线作业一100分答案

天津大学《面向对象程序设计》在线作业一100分答案

天津大学《面向对象程序设计》在线作业一100分答案《面向对象程序设计》在线作业一-0001试卷总分:100得分:100
一、单选题(共20题,总分100分)
1.设有定义:inta=0,b=5,c;执行语句c=(a=b)||++a&&b++后,a、b、c的值分别是()。

a.5,5,1b.4,6,1c.1,6,1d.1,5,0正确答案:a
2.当类a的成员函数被描述为虚函数时,该函数位于类a()的所有派生类中。

a、都是虚拟功能
b.被重新定义后才是虚函数
c、虚拟函数只是在用虚拟函数重新解释后的虚拟函数。

D.它们不能被重新定义。

正确答案:a
3.c++中函数原型不能标识()。

a..函数的返回类型b..函数的功能;c..函数参数的个数d.函数参数的类型正确答案:b
4.类MClass的复制初始化构造函数是()。

a、麦克拉斯()
b.mclass(mclass)
c.mclass(mclass*)
d.mclass(mclass&)正确答案:d
5.无法直接访问非静态数据成员的成员函数为()。

a、构造函数B.析构函数C.复制构造函数D.静态成员函数正确答案:D
6.设函数原型为:voidtest(inta,intb=7,char*s=”*”);以下函数调用中,不合法的是。

南开18春学期《面向对象程序设计》在线作业答案

南开18春学期《面向对象程序设计》在线作业答案

【奥鹏】[南开大学]18春学期《面向对象程序设计》在线作业试卷总分:100 得分:100第1题,面向对象程序设计方法以()为中心进行分析和设计。

A、结构B、模块C、对象D、类正确答案:C第2题,已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。

A、f(5)B、f(5,8)C、f(6, , '#')D、f(0,0, '#')正确答案:C第3题,有关带默认参数的函数的描述正确的是()。

A、只能在函数定义时设置默认参数值B、只能在函数声明时设置默认参数值C、函数调用时,必须使用默认的参数值,不能给出新的实参值D、设置默认参数时,应该设置最右边的若干个参数的默认值正确答案:D第4题,下列关于虚函数的说明中,正确的是()。

A、从虚基类继承的函数都是虚函数B、虚函数不得是静态成员函数C、只能通过指针或引用调用虚函数D、抽象类中的成员函数都是虚函数正确答案:B第5题,下列运算符中,()在C++中不能重载。

A、?:B、+C、-D、=正确答案:A第6题,下面关于私有继承方式的论述中错误的是()。

A、基类中的私有成员对其对象不可见B、基类中的私有成员对其派生类不可见C、基类中的公有成员对其派生类可见D、基类中的保护成员对其派生类不可见正确答案:D第7题,如果一个类至少有一个纯虚函数,那么就称该类是()。

A、抽象类B、虚基类C、派生类D、以上都不对正确答案:A第8题,类的默认的无参构造函数()。

A、在任何情况下都存在B、仅当未定义无参构造函数时存在C、仅当未定义有参构造函数时存在D、仅当未定义任何构造函数时存在正确答案:D第9题,对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B 中继承过来的成员变量由()类的构造函数进行初始化。

A、AB、BC、CD、都可以正确答案:B第10题,静态数据成员初始化在()进行,而且前面不加static,以免与一般静态变量或对象相混淆。

北语18秋《面向对象程序设计》作业1234满分答案

北语18秋《面向对象程序设计》作业1234满分答案
C.BOOK*x=newBOOK
D.BOOK*x=book
正确答案:A
以下标识符中不全是保留字的是()。
A.caseforint
B.defaultthenwhile
C.boolclasslong
D.gotoreturnchar
正确答案:B
以下叙述中正确的是( )。
A.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
A.cout&lt;&lt;*p
B.cout&lt;&lt;p
C.cout&lt;&lt;&p
D.cout&lt;&lt;(void*)p
正确答案:D
当处理特定问题时的循环次数已知时,通常采用()来解决。
A.for循环
B.while循环
C.do循环
D.switch语句
正确答案:A
在下面循环语句中循环体执行的次数为()。for(int i=0; in; i++)if(in/2) break;
A.deletep
B.delete*p
C.delete&p
D.delete[]p
正确答案:A
假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为()。
A.BOOK*x=newbook
B.BOOKx={"C++Programming",27.0}
D.n-1
正确答案:B
C++程序的基本模块为()。
A.表达式
B.标识符
C.语句

吉林大学《面向对象程序设计》在线作业一答卷

吉林大学《面向对象程序设计》在线作业一答卷

吉大18春学期《面向对象程序设计》在线作业一-0004试卷总分:100 得分:100一、单选题 (共 15 道试题,共 60 分)1. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )A. j=i;B. j=(long)i;C. i=(int)j;D. i=j;答案:D2.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。

i += i - 1;A. 10B. 121C. 11D. 100答案:C3.int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( )A. public int MAX_LENGTH=100B. final int MAX_LENGTH=100C. public const int MAX_LENGTH=100D. public final int MAX_LENGTH=100答案:D4.给出如下代码: class test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问( )。

A. 将private int m 改为protected int mB. 将private int m 改为 public int mC. 将private int m 改为 static int mD. 将private int m 改为 int m答案:C5.如果类中的成员变量可以被同一包访问,则使用如下哪个约束符( )。

A. privateB. publicC. protectedD. no modifier答案:D6.所有的异常类皆继承哪一个类?( )A. java.io.ExceptionB. ng.ThrowableC. ng.ExceptionD. ng.Error答案:C7.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )A. x > y || x > zB. x != yC. z > ( y + xD. x < y & ! ( x < z )答案:B8.不允许作为类及类成员的访问控制符的是( )。

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

浙江大学远程教育2018面向对象程序设计在线作业答案
A a[1][0]
B a[1][1]
C a[2][0]
D a[2][1]
正确答案:A
单选题
11.【第2章】关于new运算符的下列描述中,( )是错误的。
A 它可以用来动态创建对象和对象数组
B 使用它创建的对象或对象数组可以使用运算符delete删除
C 使用它创建对象时要调用构造函数
D 使用它创建对象数组时必须指定初始值
单选题
25.【第2章】表达式:36.5-(12+7%4)/2.0的运算结果是( )类型。
A double
B int
C float
D char
正确答案:A
单选题
26.【第2章】下列描述中,( )是错误的。
A 内联函数主要解决程序的运行效率问题
B 内联函数的定义必须出现在内联函数第一次被调用之前
C 内联函数中可以包括各种语句
A printf("%s",*words[3]+1)
B printf("%s",*words[4]+1)
C printf("%s",*(words+3)+1)
D printf("%s",(*words+4)+1)
正确答案:C
单选题
23.【第2章】下列属于合法的C语言赋值语句的是( )。
A a=b=58
D 一个类中能定义多个析构函数。
正确答案:C
单选题
46.【第3章】类的友元允许访问该类的( )。
A 只能是数据成员
B 私有成员
C 只能是成员函数
D 只能是公有成员
正确答案:B
单选题

吉大《面向对象程序设计》在线作业一答案

吉大《面向对象程序设计》在线作业一答案
答案:AB
18.选出合理的标识符( )
A._sys1_lll
B.2mail
C.$change
D.class
答案:AC
19.定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( )。
A.private class MyClass extends Object
A.abstract final class Hl{…}
B.abstract private move(){…}
C.protected private number
D.public abstract class Car{…}
答案:D
二、多选题(共5道试题,共20分)
16.下述哪些说法是正确的( )。
吉大18春学期《面向对象程序设计》在线作业一-0002
试卷总分:100得分:100
一、单选题(共15道试题,共60分)
1.下列运算符中,优先级最高的是( )。
A.&&
B.++
C.+
D.*
答案:B
2.数组的大小在创建以后( )。
A.可以改变
B.不能改变
C.使用new方法可以改变
D.有些可以改变
答案:B
A.将构造一个Student对象;
B.表达式是合法的;
C.表达式是错误的;
D.编译时正确,但运行时错误。
答案:C
10.在Java中,用package语句说明一个包时,该包的层次结构必须是( )
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同

面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段。答案在最后一页

面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段。答案在最后一页

面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段。

答案在最后一页B.静态成员可以在类的外部初始化C.静态成员可以被继承D.静态成员可以被声明为const类型12.下面关于继承的说法,正确的是()。

(1分)A.子类可以访问父类的私有成员B.子类可以继承父类的构造函数C.子类可以继承父类的析构函数D.子类可以继承父类的友元函数13.下面哪个关键字可以在子类中引用父类的构造函数()。

(1分)A.XXX.base三判断题(共3题,总分值3分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)14.当函数调用时,参数按值传递,函数内对参数的修改不会影响到实参。

(1分)A.√B.×15.友元函数是类的成员函数,可以访问类的私有成员。

(1分)A.×B.√16.多态是指同一个函数名可以有多种不同的实现方式。

(1分)A.√B.×XXX网络教育第一阶段练题考试科目:《面向对象的程序设计》第1章至第4章(总分100分)研究中心(教学点)批次:______ 层次:______ 专业:______ 学号:______ 身份证号:______ 姓名:______ 得分:______一、单选题(共9题,总分值9分,每题1分)1.下列关于成员函数的说法中,不正确的是()。

A.成员函数可以无返回值B.成员函数可以重载C.成员函数一定是内联函数D.成员函数可以设定参数的默认值2.函数没有返回值的时候,应该选择()的函数类型。

A.voidB.intC.不确定D.float3.假定A是一个类,那么执行语句“A a。

b(3)。

*p;”调用了()次构造函数。

A.1B.2C.3D.44.在类的定义中,引入友元的原因是()。

A.提高效率B.深化使用类的封装性C.提高程序的可读性D.提高数据的隐蔽性5.对重载的函数来说,下面叙述不正确的是()。

A.参数的类型不同B.参数的顺序不同C.参数的个数不同D.参数的个数、类型、顺序都相同,但函数的返回值类型不同6.下面对友元的错误描述是()。

18春学期《面向对象程序设计》在线作业1 (3)

18春学期《面向对象程序设计》在线作业1 (3)
A.错误
B.正确
正确答案:A
9.抽象类不能定义对象,但可以声明抽象类的指针或引用。
A.错误
B.正确
正确答案:B
10.a为MyClass类对象,“static void SetRate(double r){...}”是MyClass类的静态成员函数,则执行语句“a.SetRate(0.05);”时,SetRate成员函数中的this指针指向对象a的地址。
A.错误
B.正确
正确答案:A
11.在C++中,允许从一个类派生出任意多个类,但不允许某个类同时从多个类派生。
A.错误
B.正确
正确答案:A
12.在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。
A.错误
B.正确
正确答案:A
A.友元函数
B.虚函数
C.构造函数
D.析构函数
正确答案:D
31.下列关于运算符重载正确的是()。
A.运算符重载可以改变运算符的操作数个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变运算符的结合性
D.运算符重载不可以改变语法结构
正确答案:D
32.下面叙述中错误的是()。
D.派生类对其继承的基类的成员访问权限保持不变
正确答案:D
34.假定MyClass为一类,执行MyClass a,b(2),*p[2];语句时会自动调用该类构造函数()次。
A.2
B.3
C.4
D.5
正确答案:A
35.程序在调用重载函数时,根据()区分到底要调用哪个函数。

吉大18春学期《面向对象程序设计》在线作业一-0003

吉大18春学期《面向对象程序设计》在线作业一-0003

吉大18春学期《面向对象程序设计》在线作业一-0003异常包含下列那些内容( )。

A:程序中的语法错误B:程序的编译错误C:程序执行过程中遇到的事先没有预料到的情况D:程序事先定义好的可能出现的意外情况答案:CString?s=""This?is?the?"";String?t=s.concat(""String."");?t的内容是( ) A:This?is?th?StringB:This?is?theC:String答案:A下面语句执行后,i 的值是( )。

for( int i=0, j=1; j &lt; 5; j+=3 ) i=i+j; A:4B:5C:6D:7答案:B以下语句有语法错误的是( )A:int?x=1;y=2;z=3B:for?(int?x=10,y=0;x&gt;0;x++);C:while?(x&gt;5);D:for(;?;);答案:A关于Java中数据类型叙述正确的是( )A:整型数据在不同平台下长度不同B:boolean类型数据只有2个值,true和falseC:数组属于简单数据类型D:Java中的指针类型和C语言的一样答案:B给出如下代码: class test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问( )。

A:将private int m 改为protected int mB:将private int m 改为 public int mC:将private int m 改为 static int mD:将private int m 改为 int m答案:C已知如下代码:boolean m = true;if ( m = false ) System.out.println("False");else System.out.println("True");执行结果是( )A:FalseB:TrueC:NoneD:出错答案:B下面的代码段中,执行之后i 和j 的值是( )。

面向对象程序设计课程作业及答案_百度文库资料

面向对象程序设计课程作业及答案_百度文库资料

《面向对象程序设计》课程作业及答案中央电大理工部计算机教研室作业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的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。

18春北交《面向对象程序设计》在线作业一二

18春北交《面向对象程序设计》在线作业一二

北交《面向对象程序设计》在线作业一0一、单选题:1.(单选题)在每个C++程序中都必须包含有这样一个函数,该函数的函数名()。

(满分AmainBMAINCnameDfunction正确答案:A2.(单选题)有如下程序:#includeusingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}staticintgetNum(){return n;}private:staticintn;};intTest::n=1;intmain(){Test*p=newTest;deletep;cout&amp;lt;&amp;lt;\n=\ &amp;lt;&amp;lt;Test::getNum()&amp;lt;&amp;lt;end (满分An=0Bn=1Cn=2Dn=3正确答案:A3.(单选题)有如下类声明:classFoo{intbar;};则Foo类的成员bar是() (满分A公有数据成员B公有成员函数C私有数据成员D私有成员函数正确答案:C4.(单选题)已知在一个类体中包含如下函数原型:VOLUMEoperator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是() (满分A这是运算符-的重载运算符函数B这个函数所重载的运算符是一个一元运算符C这是一个成员函数D这个函数不改变类的任何数据成员的值正确答案:5.(单选题)在声明类时,下面说法正确的是()。

(满分A可以在类的声明中给数据成员赋初值B数据成员的数据类型可以是registerCprivate,public,proected可以按任意的顺序出现D没有用private,public,proected定义的数据成员是共有成员正确答案:6.(单选题)下面关于C++流的叙述中,正确的是() (满分:)Acin是一个输入流对象B可以用ifstream定义一个输出流对象C执行语句序列char*y=\PQMN\;cout&amp;lt;D执行语句序列charx[80];cin.getline(x,80);时,若键入Happynewyear则x中的字符串是\Happy\ 正确答案:7.(单选题)下面函数的功能是()。

C程序设计18春在线作业1答案1

C程序设计18春在线作业1答案1

C程序设计18春在线作业1-0003试卷总分:100 得分:100一、单选题 (共 20 道试题,共 60 分)1.定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是()A.1 ?5 ?9B.1 ?4 ?7C.3 ?5 ?7D.3 ?6 ?9正确答案:C2.若k为整型,则下列while循环 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); 执行多少次?()A.2B.9C.0D.1正确答案:C3.以下程序:#define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的输出结果为()A.d=70B.d=80C.d=140D.d=700正确答案:A4.下面能正确进行字符串赋值操作的语句是()A.char s[5]={"ABCDE"};B.char s[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);正确答案:C5.下列函数: int fun1(chat* x) {char*y=x; while(*y++); return(y-x-1);} 的功能是()A.求字符串的长度B.比较两个字符串的大小C.将字符串x复制到字符串yD.将字符串X连接到字符串Y后面正确答案:A。

天大20年春季《面向对象程序设计》在线作业一答卷【标准答案】

天大20年春季《面向对象程序设计》在线作业一答卷【标准答案】

《面向对象程序设计》在线作业一试卷总分:100 得分:100一、单选题 (共 20 道试题,共 100 分)1.下列调用方式中,属于引用调用的是()。

A..形参是指针,对应的实参是地址值B..形参是引用,对应的实参是变量名C..形参是变量名,对应的实参是地址值D..形参和对应的实参都是变量名答案:B2.设有说明语句:int x=1,y=3,z=5;则下面表达式中值为0的是()。

A.(y!=1)&&(z!=0)B.x&&zC.(x<y)&&x<zD.x||y>3&&z>5答案:A3.下列循环结构中,不是无限循环的是()。

A.t = 1; while ( t - - ) { cout<< t + + ; }B.t = 1 ; do { cout<< t ; t + + ;} while ( - - t ) ;C.for ( t =1 ; ; t + + ) cout<< t ;D.for ( t = 0 ; t ; t ++ ) cout<< t ;答案:D4.设B类是A类的派生类。

当创建一个B类的对象时,构造函数的调用顺序是()。

A.视定义时A类和B类出现的位置B.先调用B类的构造函数,然后调用A类的构造函数C.先调用A类的构造函数,然后调用B类的构造函数D.不调用A类的构造函数答案:C5.设有定义: int i=8,a,b; double x=1.34,y=5.3; 下列表达始中,符合C++语法的是()。

A.y=float(i)++B.x%5C.a+=a-=(a=3)*(b=4)D.a=a*3=2答案:C6.设有定义:int a=0,b=5,c; 执行语句c=(a=b)||++a&&b++后,a、b、c的值分别是()。

A.5,5,1B.4,6,1C.1,6,1。

电子科技大学18秋《面向对象程序设计》在线作业1满分答案

电子科技大学18秋《面向对象程序设计》在线作业1满分答案

电子科技大学18秋《面向对象程序设计》在线作业1满分答

18秋《面向对象程序设计》在线作业1
当方法遇到异常又不知如何处理时,应该
A.捕获异常
B.抛出异常
C.用throws声明异常
D.嵌套异常
正确答案:C
下列各输出语句中,显示结果为“123”的是
A.System.out.println(1+2+3);
B.System.out.println(1+""+2+3);
C.System.out.println(1+2+3+"");
D.System.out.println(1+2+""+3);
正确答案:B
下列叙述中不正确的是
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能直接处理非static的属性
正确答案:D
布局管理器使容器中各个构件呈网格布局,平均占据容器空间。

A.CardLayout
B.BorderLayout
C.FlowLayout
D.GridLayout
正确答案:D
下列修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。

A.private
B.public
C.protected
D.无修饰符正确答案:D。

天大18秋《面向对象程序设计》在线作业一

天大18秋《面向对象程序设计》在线作业一

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 以下函数原型说明中,不正确的是()。

A: int Function();B: void Function(int);C: int Function(a);D: void int(double a);正确答案:(单选题) 2: 在声明类时,关键字private、public和protected出现()。

A: 至少一次B: 至多一次C: public至少一次D: 0或多次正确答案:(单选题) 3: 以下字符串赋值中不正确的是()。

A: char str[ ]=”abcdefg”;B: char str[80]; str=”abcdefg”;C: char *pstr=”abcdefg”D: char *pstr=NULL; pstr=”abcdefg”;正确答案:(单选题) 4: 在派生类的成员函数中能够直接访问基类的()。

A: 公有成员和私有成员B: 保护成员和私有成员C: .公有成员和保护成员D: 仅能是公有成员正确答案:(单选题) 5: 设a为整型变量,不能正确表达数学关系5<a<10的C++表达式是()。

A: a==6‖a==7‖a==8‖a==9B: a>5&&a<10C: 5<a<10D: !(a<=5)&&!(a>=10)正确答案:(单选题) 6: 以下字符串初始化中不正确的是()。

A: char str[ ]=”abcdefg”;B: char str[5]=”abcdefg”;C: char str[5]={“”};D: char str[5]={‘1’,’3’,’5’,’7’,’9’};正确答案:(单选题) 7: 在C++中,字符串"c:\\dos\\ex.txt"的存储长度是()。

2017-2018学年面向对象程序设计大作业

2017-2018学年面向对象程序设计大作业

2017-2018学年面向对象程序设计大作业
2017-2018学年第一学期期末考试《面向对象程序设计》大作业
一、名词解释(每题5分,共50分)
1、构造函数
构造函数,是一种特殊的方法。

主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。

2、对象
对象,常有两层意思,指行动或思考时作为目标的事物或特指恋爱的对方等含义个体的对象世界是指从个体诞生开始就围绕在个体周围的世界,它包括支持该个体存在的物质实体和用于该个体发展的各种因素。

从个体的生存处境看,个体的对象世界是我们通常所指的广泛意义上的自然界以及这个自然界的展开形式。

这个世界由低级到高级依次展开,它们呈现给个体的是由“原始自然——人化自然——能动自然——虚拟自然”等所构成的序列。

3、运算符重载
运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。

4、析构函数
析构函数(destructor)与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。

析构函数往往用来做“清理善后”的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。

5、组合
组合(combination)是一个数学名词。

一般地,从n个不同的元素中,任取m(m≤n)个。

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

《面向对象程序设计》在线作业一-0001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.设有定义:int a=0,b=5,c; 执行语句c=(a=b)||++a&&b++后,a、b、c的值分别是()。

A.5,5,1
B.4,6,1
C.1,6,1
D.1,5,0
正确答案:A
2.当A类的某个成员函数被说明为virtual时,该函数在A类的所有派生类中()。

A.都是虚函数
B.被重新定义后才是虚函数
C.只有被用virtual重新说明后才是虚函数
D.不能被重新定义
正确答案:A
3.C++中函数原型不能标识()。

A..函数的返回类型
B..函数的功能;
C..函数参数的个数
D.函数参数的类型
正确答案:B
4.类Mclass的拷贝初始化构造函数是()。

A.Mclass( )
B.Mclass(Mclass)
C.Mclass(Mclass *)
D.Mclass(Mclass&)
正确答案:D
5.不能直接访问非静态数据成员的成员函数是()。

A.构造函数
B.析构函数
C.拷贝构造函数
D.静态成员函数
正确答案:D
6.设函数原型为:void test(int a,intb=7,char *s=”*”); 以下函数调用中,不合法的是。

相关文档
最新文档