}
voidshow_zhouchang(){
cout<<"周长:
"<<"2*(A+B)="<<2*(A+B)<<"(cm)"< }
};
classCuboid:
publicRectangle{
private:
intH;
public:
Cuboid(intH,intA,intB,intX,intY):
Rectangle(A,B,X,Y)
{
this->H=H;
}
voidshow_volume()
{
cout<<"体积:
"<<"A*B*H="<:
show_area())<<"(cm3)"<}
voidshow_biaomianji()
{
cout<<"表面积:
"<<"2*(A*B+A*H+B*H)="<<2*(A*B+A*H+B*H)<<"(cm2)"<}
};
voidmain(){
PointC(6,8),D(3,4);
C.showXY();
D.showXY();
D.distance(C);
RectangleE(3,4,1,2);
E.show_area1();
E.show_zhouchang();
CuboidF(4,3,4,1,2);
F.show_volume();
F.show_biaomianji();
}
(2).运行结果:
2、根据如图所示编辑程序,计算教师的课时,计算学生的平均成绩,假定每个学生3门课程,并输出每个类的信息(例如教师的职称,学生的专业等,程序实现要求使用到虚基类的知识)。
(1).源程序:
#include
usingnamespacestd;
#include"math.h"
classPerson{
private:
intage;
public:
Person(intage){
this->age=age;
cout<<"Personconstructing...."< }
voidshow(){
cout<<"Personage:
"< }
};
classTeacher:
virtualpublicPerson{
private:
intlesson;
public:
Teacher(intage,intlesson):
Person(age){
this->lesson=lesson;
cout<<"Teacherconstructing...."< }
voidshow(){
Person:
:
show();
cout<<"Teacherlesson:
"< }
};
classStudent:
virtualpublicPerson{
private:
doublegrade1;
doublegrade2;
doublegrade3;
public:
Student(intage,doublegrade1,doublegrade2,doublegrade3):
Person(age){
this->grade1=grade1;
this->grade2=grade2;
this->grade3=grade3;
cout<<"Studentconstructing....";
}
voidshow(){
Person:
:
show();
cout<<"StudentGrade:
"< cout<<"grade1:
"<cout<<"grade2:
"<cout<<"grade3:
"< cout<<"AverageGrade:
"<<(grade1+grade2+grade3)/3< }
};
classZhu:
publicTeacher{
protected:
intmoney;
public:
Zhu(intage,intlesson,intmoney):
Person(age),
Teacher(age,lesson){
this->money=money;
cout<<"Zhu_jiaoconstructing...."< }
voidshow(){
Teacher:
:
show();
cout<<"Zhu_jiaomoney:
"< }
};
classYan:
publicStudent{
protected:
intClass;
public:
Yan(intage,doublegrade1,doublegrade2,doublegrade3,intClass):
Person(age),Student(age,grade1,grade2,grade3){
this->Class=Class;
cout<<"Yanconstructing..."< }
voidshow(){
Student:
:
show();
cout<<"YanClass...."< }
};
classYJSZJ:
publicTeacher,publicStudent{
public:
YJSZJ(intage,intlesson,doublegrade1,doublegrade2,doublegrade3,intmoney,intClass):
Person(age),
Student(age,grade1,grade2,grade3),
Teacher(age,lesson)
{
cout<<"constructing...."< }
voidshow(){
cout<<"YJSZJ:
"< Teacher:
:
show();
Student:
:
show();
}
};
voidmain(){
YJSZJx(21,50,98.0,99.0,97.0,5000,02);
x.show();}
(2).运行结果:
第5页/共6页