}
5、#include
enumBREED{GOLDEN,CAIRN,DANDIE,SHETLAND,DOBERMAN,LAB}。
classMammal
{public:
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
{public:
Dog():
itsBreed(GOLDEN){}
~Dog(){}
BREEDGetBreed()const{returnitsBreed。
}
voidSetBreed(BREEDbreed){itsBreed=breed。
}
voidWagTail()const{cout<<"Tailwagging...\n"。
}
voidBegForFood()const{cout<<"Beggingforfood...\n"。
}
private:
BREEDitsBreed。
}。
intmain()
{
Dogfido。
fido.Speak()。
fido.WagTail()。
cout<<"Fidois"<return0。
}
6、#include
classBase
{public:
voidwho(){cout<<”Baseclass”<}。
classDerived1:
publicBase
{public:
voidwho(){cout<<”Derived1class”<}。
classderived2:
publicBase
{public:
voidwho(){cout<<”Derived2class”<Voidmain()
{baseobj1,*p。
derived1obj2。
derived2obj3。
P=&obj1。
p->who()。
P=&obj2。
p->who()。
P=&obj3。
p->who()。
Obj1.who()。
Obj2.who()。
Obj3.who()。
}
7、#include
classexample
{private:
intdate。
staticintcount。
public:
example(inty=10):
date(y)
{cout<<”date=”<Count++。
}
staticintdisplay()
{returncount。
}
}。
intexample:
:
count=0。
voidmain()
{examplee1。
examplee2(20)。
cout<cout<cout<:
Display()<}
8、指出下列程序中的错误,并说明理由
#include
classStudent
{public:
voidStudent(){}。
voidDisplay()
{cin>>name>>number。
cout<<姓名<}
private:
char*name=noname。
intnumber=0。
}。
四、编程题:
(20分,每题10分)
1、编写一个程序,实现小型公司的工资管理。
该公司主要有4类人员:
经理、兼职技术人员、销售员和销售经理。
要求存储这些人员的编号、姓名和月工资,计算月工资并显示全部信息。
月工资计算办法是:
经理拿固定月薪8000元,兼职技术人员按每小时100元领取月薪,销售员按当月销售额的4%提成,销售经理既拿固定月工资又拿销售提成,固定月工资为5000元,销售提成为所管部门当月销售总额的0.5%。
要求补充未完成的代码,使其成为一个完整的程序。
#include
classEmployee
{public:
employee(){cout<<”职工编号、姓名”。
cin>>no>>name。
salary=0。
}
voidPay(){}
voidDisplay(){}
Protected:
Intno。
charname[10]。
floatsalary。
}。
Classtechnician:
publicEmployee//派生技术人员
{public:
Technician(){hourlyrate=100.0。
}
voidPay(){cout<”
cin>>workhours。
salary=hourlyrate*workhours。
}
voidDisplay()
{cout<<”兼职技术人员”<”<}
private:
//补充下面内容
};
ClassSaleman:
publicEmployee//派生销售员类
{public:
Salesman(){commrate=0.04f。
}//销售提成比例
voidPay(){cout<”。
//补充下面内容
}
voidDisplay()
{cout<<”销售员”<”<}
Protected:
Floatcommrate。
sales。
};
ClassManager:
virtualpublicEmployee
{public:
Manager(){}//补充函数体内容
VoidPay(){}//补充函数体内容
voidDisplay()
{cout<<”经理”<”<}
Protected:
floatmonthlypay。
}。
ClassSalesManager:
//补充此处类的内容
{
};
voidmain()
{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秒)