东师2020年春季《C++程序设计》离线考核
离线考核《C++程序设计》
更多作业资源www.openhelp100.com
东北师范大学作业QQ515224986
100分
一、(10分,共40分。)
1.什么是类?什么是对象?对象与类的关系是什么?
2.什么是多态性?请举例说明。
3.虚函数是否一定要有virtual关键字?什么叫纯虚函数和抽象类?多态调用需要满足怎样的条件?
4.简述结构化的程序设计、面向对象的程序设计的基本思想。
二、程序分析题(10分,共40分。)
1.指出下列程序中的1处错误,并说明为什么。
classLocation{
intXY=20
protected
intzeroXzeroY 东师答案www.openhelp100.com
QQ 5 1 5 2 2 4 9 8 6
intSetZero(intZeroXintZeroY)
private
intlengthheight
public
voidinit(intinitXintinitY)
intGetX()
intGetY()
}
答:
2.指出下列程序中的1处错误,并说明为什么。
#include<iostream.h>
#include<stdlib.h>
classCTest{
public
constinty2
CTest(inti1inti2inti3)y1(i1)y2(i2)
{x=i3}
intshow()const{cout<<"y1="<<y1<<"\ny2="<<y2<<"\nx="<<x<<endl}
//…
private
intx
constinty1
}
voidmain()
{
CTestc(123)
c.show()
c.y2=2
c.show()
}
答:
3.写出下面程序的输出结果。
#include<iostream.h>
classB
{intb
public
B(inti){b=i}
virtualvoidvirfun(){cout<<"Bb"<<b<<""}
}
classDpublicB
{public
D(intiintj)B(i){d=j}
voidvirfun(){Bvirfun()cout<<"Dd"<<d<<endl}
privateintd
}
voidfun(B*objp){objp>virfun()}
voidmain(){D*pd=newD(35)fun(pd)}
答:
4.写出下面程序的运行结果。
#include<iostream.h>
classexample
{
public
example(intn)
{
i=n
cout<<"Constructing\n"
}
~example()
{cout<<"Destructing\n"}
intget_i()
{returni}
private
inti
}
intsqr_it(exampleo)
{returno.get_i()*o.get_i()}
main()
{
examplex(10)
cout<<x.get_i()<<endl
cout<<sqr_it(x)<<endl
return0
}
答:
三、完成程序题(10分,共20分。)
1.请在下面程序的横线处填上适当内容,以使程序完整并使程序的输出为5。
#include<iostream.h>
classInteger
{
intx
public
Integer(inta=0){x=a}
voiddisplay(){cout<<x<<endl}
①
}
IntegerMax(IntegeraIntegerb)
{
if(② )
returna
returnb
}
voidmain()
{
Integera(3)b(5)c
c=Max(ab)
c.display()
}
2.设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符“+”,以实现求两个三角形对象的面积之和。
更多作业资源www.openhelp100.com
东北师范大学作业QQ515224986
页:
[1]