东师19秋学期《C++程序设计(高起专)》离线考核(纸考转离线)
离线考核《C++程序设计(高起专)》
东北师范大学
作业答案联系QQ 515224986
满分100分
一、判断题(请给正确的打“√”,错误的打“╳”并说明原因。每题4分,共20分。)
1234567
1.静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。()
2.通过类对象可以访问类中所有的成员。()
3.构造函数是可以被派生类继承的。()
4.构造函数和析构函数都可以是虚函数。()
5.只有类中全部函数都为纯虚函数时,该类才被称为抽象类。() 奥鹏作业答案
联系QQ 515224986
二、简答题(每小题5分,共20分。)
1.什么是封装性?请举例说明。
2.什么是函数重载和运算符重载?为什么要使用重载?
3.拷贝构造函数在哪几种情况下被调用?
4.什么是类?什么是对象?对象与类的关系是什么?
三、程序分析题(每小题10分,共40分。)
1.指出下面程序中的1处错误,并说明原因。
#include<iostream.h>
classPoint
{
intXY
public
Point(){X=0Y=0}
Point(intx=0inty=0){X=xY=y}
voiddisplay(){cout<<X<<""<<Y<<endl}
}
voidmain()
{
Pointp
p.display()
}
答:
2.指出下面程序中的1处错误,并说明原因。
#include<iostream.h>
classCTest{
public
CTest(){x=20}
private
intx
friendvoidfriend_f(CTestfri)
}
voidfriend_f(CTestfri){fri.x=55}
voidmain()
{
CTestc1c2
c1.friend_f(c2)
}
答:
3.写出下面程序的运行结果。
#include<iostream.h>
classTest
{
private
intnum
public
Test(intn=0){num=nnum++}
~Test(){cout<<”Destructorisactivenumber=”<<num<<endl}
}
voidmain()
{
Testx
cout<<”Exitingmain”<<endl
}
答:
4.写出下面程序的运行结果。
#include<iostream.h>
classTest{
private
staticintval
inta
public
staticintfunc()
staticvoidsfunc(Test&r)
}
intTestval=20
intTestfunc()
{valreturnval}
voidTestsfunc(Test&r)
{r.a=25cout<<"Result3="<<r.a}
voidmain()
{
cout<<"Resultl="<<Testfunc()<<endl
Testa
cout<<"Result2="<<a.func()<<endl
Testsfunc(a)
}
答:
四、完成程序题(每小题10分,共20分。)
1.请在横线处填上适当的字句,以使程序完整。
#include<iostream.h>
#include″math.h″
classPoint
{
private
doubleXY
①__________Line
public
Point(doublex=0doubley=0)
{X=xY=y}
Point(Point&p)
{X=p.XY=p.Y}
}
classLine
{
private
Pointp1p2
public
Line(Point&xp1Point&xp2)②__________{}
doubleGetLength()
}
doubleLineGetLength()
{
doubledx=p2.Xp1.X
doubledy=p2.Yp1.Y
returnsqrt(dx*dx+dy*dy)
}
voidmain()
{
Pointp1p2(34)
LineL1(p1p2)
cout<<L1.GetLength()<<endl
}
2.设计一个立方体类Box,使它能计算并输出立方体的体积和表面积。
要求:
Box类包含三个私有数据成员:a(立方体边长)、volume(体积)和area(表面积);
Box类包含有构造函数及seta()(设置立方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出体积和表面积)。
东北师范大学
答案联系QQ 515224986
页:
[1]