C面向对象程序设计习题解答全Word格式.docx
《C面向对象程序设计习题解答全Word格式.docx》由会员分享,可在线阅读,更多相关《C面向对象程序设计习题解答全Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
![C面向对象程序设计习题解答全Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/24/f187c7f8-9e0e-42a2-9650-f29823e13f99/f187c7f8-9e0e-42a2-9650-f29823e13f991.gif)
a=639,b=78,c=12
2答案
a=5,b=8
a=8,b=5
3答案
4答案
x=20.6y=5z=A
x=216.34y=5z=A
x=216.34y=2z=A
x=216.34y=2z=E
5答案
ic=11
fc=7.82
ic=5
fc=2.15
三、判断下列描述的正确性
√
×
第三章类和对象的初步探讨
B
1数据成员、成员函数
2private、protected、public
3指向对象的指针、对象的引用
4属性、行为、属性、行为
5对象、属性和操作这些属性的操作、对外隐藏
四、程序改错题
#include<
iostream>
usingnamespacestd;
classClock
{
//public:
voidset_clock(void);
voidshow_clock(void);
//private:
inthour;
intminute;
intsecond;
};
Clockclock;
intmain()
{
clock.set_clock();
clock.show_clock();
//return0;
}
voidClock:
:
set_clock(void)
cin>
>
hour;
minute;
second;
show_clock(void)
cout<
<
hour<
"
minute<
second<
endl;
}
第四章类和对象的进一步解析
13
14
15
16
17
18
19
20
21
22
23
24
1this
2所有成员
3友元类、友元函数
4friend
5程序编译、程序结束
三、程序阅读题
Defaultconstructorcalled.
constructorcalled.
0,0
6,8
Destructorcalled.
x!
=y
Initalizingdefault
00
Destructorisactive
n=2,sum=2
n=3,sum=5
n=5,sum=10
x=3
6答案
x=1,y=2
x=30,y=40
7答案
1234
exitmain
3210
8答案
n=100
9答案
thestudentis:
LiHu
theteacheris:
WangPing
10答案
11答案
1035,789.504
12答案
13答案
constructingobject:
x=1
第五章在对象中使用运算符—运算符重载
二、程序完善题
1
(1)AA:
operator+(A&
b)
(2){Atemp;
temp.i=i+b.i;
returntemp;
1.答案
n=4
n=3
2.答案
c1=10c2=20
c1=100c2=200
c1=11c2=21
3.答案
12471116
第六章派生及继承
1
(1)
1
(2)
1继承
2具体化、抽象
3公有继承、保护继承、私有继承
4子对象
5public(共有的)、protected(保护的)、不可访问
6protected(保护的)、protected(保护的)、不可访问的
7private(私有的)、private(私有的)、不可访问的
8二义性
1.C++语言中,既允许单继承,又允许多继承。
(正确)
2.派生类是从基类派生出来,它不能再生成新的派生类。
(错误)
3.派生类的继承方式有两种:
公有继承和私有继承。
解析:
还有保护继承
4.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。
基类中的公有成员和保护成员在派生类都是可见的,基类私有成员在派生类中不可见。
5.在公有继承中,基类中只有公有成员对派生类是可见的。
保护成员可见
6.在私有继承中,基类中只有公有成员对派生类是可见的。
7.在私有继承中,基类中所有成员对派生类的对象都是不可见的。
基类成员public,protected成员都变成派生类private成员
8.在保护继承中,对于垂直访问同于公有继承,而对于水平访问同于私有继承。
(正确?
)
9.派生类是它的基类组合。
不仅是组合,还有扩充和完善
10.构造函数可以被继承。
11.析构函数不能被继承。
构造函数、析构函数都不能继承
12.多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
13.单继承情况下,派生类中对基类成员的访问也会出现二义性。
优先访问派生类
14.解决多继承情况下出现的二义性的方法之一是使用成员名限定法。
严格讲“作用域限定”
四、程序阅读题
1答案
num:
10010
name:
Wang-li
sex:
f
age:
19
address:
115BeijingRoad,Shanghai
10011
Zhang-fun
m
21
213ShanghaiRoad,Beijing
10010
Li
17
score:
89
Aconstructorcalled
Bconstructorcalled
(1,2)(1,1)(3,4)
(2,5)(1,1)(8,11)
destructorBcalled
destructorAcalled
constructM1.1
constructM2.2
constructM1.3
constructM2.4
constructN.3
desstructN.3
desstructM2.
desstructM1.
调用基类2的构造函数!
调用基类1的构造函数!
调用派生类的构造函数!
调用派生类的析构函数!
调用基类1的析构函数!
调用基类2的析构函数!
x=100
y=300
y=200
400
(1,2)
5,6
(6,9)
{13,22,30,40}
D2:
display()
pri1=4,pri2=5
pri4=6
pri12=7
pri1=12,pri2=9
pri4=7
pri12=8
A:
:
x=10
B:
x=20
B:
x=20
pri1=1,pri2=4
pri1=9,pri2=8
五、程序完善题
1
(1)protected
(2)public(3)C(intx,inty,intz):
A(x),b1(y)
(4)c=z;
(5)cout<
a<
”,”<
b1.b<
c<
2
(1)A(intx){a=x;
}
(2)A1(intx,inty):
A(y){b=x;
(3)A3(intx,inty,intz):
A1(y,z){c=x;
}
(4)cout<
geta()<
””<
getb()<
3
(1)Student(n,nam,s)
(2)age=a;
(3)cout<
″num:
″<
num<
(4)10010,Wang-li,f,19(5)stud1.show();
第七章多态性及虚函数
1、不同
2、纯虚函数
3、静态多态性、动态多态性
4、virtual
5、抽象类
D: