面向对象程序设计0001Word格式文档下载.docx
- 文档编号:618935
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:11
- 大小:18.51KB
面向对象程序设计0001Word格式文档下载.docx
《面向对象程序设计0001Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计0001Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。
9、CPaintDC是___类中最常用的派生类,它只能使用在CView类的___函数中。
10、消息WM_MOUSEMOVE的消息响应函数的函数名为____。
11、资源是供Windows应用程序使用的特殊数据,它们驻留在硬盘上的__中。
常用的资源有菜单、快捷键、_____、位图等。
12、内存中的对象可以以文件的形式存储在永久性存储介质中,而当应用程序再把它从永久性存储介质读入后,该对象能恢复为原来的状态,则该对象称之为_____。
二、简述题(20分,每题5分)
(1)简述构成文档/视图结构应用程序框架的4个MFC派生类,并说出它们的功能。
(2)为什么拆分窗口的显示更新必须要同步?
文档类的成员函数UpdateAllViews的作用是什么?
(3)怎样才能使控件成为窗口的子窗口并且在窗口中可见?
按钮控件能创造哪三种不同的形式?
(4)如何把绘图工具载入设备描述环境进行绘画?
请以画笔为例写出执行步骤。
三、阅读下列程序,写出执行结果。
(40分,每题5分)
1、#include<
iostream.h>
classAbc
{public:
Abc(){a=0。
b=0。
c=0。
}
Abc(inti,intj,intk){a=i。
b=j。
c=k。
voidget(int&
i,int&
j,int&
k){i=a。
j=b。
k=c。
Abcoperator*(Abcobj)。
private:
inta,b,c。
}。
AbcAbc:
:
operator*(Abcobj)
{Abctempobj。
tempobj.a=a*obj.a。
tempobj.b=b*obj.b。
tempobj.c=c*obj.c。
returntempobj。
voidmain()
{Abcobj1(1,2,3),obj2(5,5,5),obj3。
inta,b,c。
obj3=obj1*obj2。
obj3.get(a,b,c)。
cout<
<
”(obj1*obj2):
\t”<
”a=”<
a<
’\t’<
”b=”<
b<
”c=”<
c<
endl。
(obj2*obj3).get(a,b,c)。
”(obj2*obj3):
2、#include<
classBASE1
{public:
BASE1(inti){cout<
”调用基类BASE1的构造函数:
”<
i<
}。
classBASE2
BASE2(intj){cout<
”调用基类BASE2的构造函数:
j<
classA:
publicBASE1,publicBASE2
A(inta,intb,intc,intd):
BASE2(b),BASE1(c),b2(a),b1(d)
{cout<
”调用派生类A的构造函数。
a+b+c+d<
BASE1b1。
BASE2b2。
voidmain()
{Aojb(11,22,33,44)。
3、#include<
template<
typenameT>
voidfun(T&
x,T&
y)
{Ttemp。
temp=x。
x=y。
y=temp。
voidfun(doublex,inty)
{doubletemp。
x=y。
y=temp。
{inti,j。
i=30。
j=10。
fun(i,j)。
”i=”<
”j=”<
doublea,b。
a=1.23。
b=3.21。
fun(a,b)。
doublem=10。
intn=30。
fun(m,n)。
”m=”<
m<
”n=”<
n<
4、#include<
voidmain()
{doublex=123.456。
cout.width(10)。
cout.setf(ios:
dec,ios:
basefield)。
x<
left)。
cout.width(15)。
right,ios:
showpos)。
-x<
scientific)。
}
5、#include<
enumBREED{GOLDEN,CAIRN,DANDIE,SHETLAND,DOBERMAN,LAB}。
classMammal
Mammal():
itsAge
(2),itsWeight(5){}//constructors
~Mammal(){}
intGetAge()const{returnitsAge。
voidSetAge(intage){itsAge=age。
intGetWeight()const{returnitsWeight。
voidSetWeight(intweight){itsWeight=weight。
voidSpeak()const{cout<
"
Mammalsound!
\n"
。
voidSleep()const{cout<
shhh.I'
msleeping.\n"
protected:
intitsAge。
intitsWeight。
classDog:
publicMammal
Dog():
itsBreed(GOLDEN){}
~Dog(){}
BREEDGetBreed()const{returnitsBreed。
voidSetBreed(BREEDbreed){itsBreed=breed。
voidWagTail()const{cout<
Tailwagging...\n"
voidBegForFood()const{cout<
Beggingforfood...\n"
BREEDitsBreed。
intmain()
{
Dogfido。
fido.Speak()。
fido.WagTail()。
cout<
Fidois"
<
fido.GetAge()<
yearsold\n"
return0。
6、#include<
classBase
voidwho(){cout<
”Baseclass”<
classDerived1:
publicBase
”Derived1class”<
classderived2:
”Derived2class”<
Voidmain()
{baseobj1,*p。
derived1obj2。
derived2obj3。
P=&
obj1。
p->
who()。
obj2。
obj3。
Obj1.who()。
Obj2.who()。
Obj3.who()。
7、#include<
classexample
{private:
intdate。
staticintcount。
public:
example(inty=10):
date(y)
{cout<
”date=”<
date<
Count++。
staticintdisplay()
{returncount。
intexample:
count=0。
{examplee1。
examplee2(20)。
cout<
e1.Display()<
e2.Display()<
example:
Display()<
8、指出下列程序中的错误,并说明理由
#include<
classStudent
{public:
voidStudent(){}。
voidDisplay()
{cin>
>
name>
number。
姓名<
name<
学号<
number<
private:
char*name=noname。
intnumber=0。
四、编程题:
(20分,每题10分)
1、编写一个程序,实现小型公司的工资管理。
该公司主要有4类人员:
经理、兼职技术人员、销售员和销售经理。
要求存储这些人员的编号、姓名和月工资,计算月工资并显示全部信息。
月工资计算办法是:
经理拿固定月薪8000元,兼职技术人员按每小时100元领取月薪,销售员按当月销售额的4%提成,销售经理既拿固定月工资又拿销售提成,固定月工资为5000元,销售提成为所管部门当月销售总额的0.5%。
要求补充未完成的代码,使其成为一个完整的程序。
#include<
classEmployee
employee(){cout<
”职工编号、姓名”。
cin>
no>
name。
salary=0。
voidPay(){}
voidDisplay(){}
Protected:
Intno。
charname[10]。
floatsalary。
Classtechnician:
publicEmployee//派生技术人员
Technician(){hourlyrate=100.0。
voidPay(){cout<
”本月工作时数:
”
cin>
workhours。
salary=hourlyrate*workhours。
”兼职技术人员”<
”(编号为”<
no<
”)”本月工资:
salary<
//补充下面内容
};
ClassSaleman:
publicEmployee//派生销售员类
Salesman(){commrate=0.04f。
}//销售提成比例
voidPay(){cout<
”本月销售额:
”。
voidDisplay()
”销售员”<
Floatcommrate。
sales。
ClassManager:
virtualpublicEmployee
{public:
Manager(){}//补充函数体内容
VoidPay(){}//补充函数体内容
”经理”<
floatmonthlypay。
ClassSalesManager:
//补充此处类的内容
{managerm1。
Techniciant1。
Salesmans1。
Salesmanagersm1。
m1.pay()。
m1.display()。
t1.pay()。
t1.display()。
s1.pay()。
s1.display()。
sm1.pay()。
sm1.display()。
2、定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,要求包括定义时间对象,设置时间,运行时间上加1秒的操作,输出该对象的时间,输出格式为×
×
:
AM(例如:
11:
20:
15AM,上午11时20分15秒)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 0001