LHL PTA 实验8. 继承(二)"/>
LHL PTA 实验8. 继承(二)
LHL’PTA 实验8. 继承(二)
6-1 多重继承派生类构造函数 (10分)
根据所给的基类Student和Teacher,定义Graduate类
#include
#include
using namespace std;
class Teacher
{public:
Teacher(string nam,int a,string t)
{name=nam;
age=a;
title=t;}
void display()
{cout<<“name:”<<name<<endl;
cout<<“age”<<age<<endl;
cout<<“title:”<<title<<endl;
}
protected:
string name;
int age;
string title;
};
class Student
{public:
Student(string nam,char s,float sco)
{name1=nam;
sex=s;
score=sco;}
void display1()
{cout<<“name:”<<name1<<endl;
cout<<“sex:”<<sex<<endl;
cout<<“score:”<<score<<endl;
}
protected:
string name1;
char sex;
float score;
};
/* 请在这里填写答案 */
裁判测试程序样例:
int main( )
{Graduate grad1(“Wang-li”,24,‘f’,“assistant”,89.5,1234.5);
grad1.show( );
return 0;
}
输出样例:
name:Wang-li
age:24
sex:f
score:89.5
title:assistant
wages:1234.5
#include <iostream>
#include <string>
using namespace std;
class Teacher //声明Teacher(教师)类{ public: //公用部分Teacher(string nam,int a,string t) //构造函数{ name=nam; age=a; title=t;}void display() //输出教师有关数据{ cout<<"name:"<<name<<endl;cout<<"age"<<age<<endl;//LHLcout<<"title:"<<title<<endl; }protected: //保护部分string name;int age;string title;}; //职称class Student //声明类Student(学生){ public:Student(string nam,char s,float sco){ name1=nam; sex=s; score=sco;} //构造函数void display1() //输出学生有关数据{ cout<<"name:"<<name1<<endl;cout<<"sex:"<<sex<<endl;cout<<"score:"<<score<<endl; }protected: //保护部分string name1;//LHLchar sex;float score; }; //成绩class Graduate:public Teacher,public Student //声明多重继承的派生类Graduate{ public:Graduate(string nam,int a,char s,string t,float sco,float w):Teacher(nam,a,t),Student(nam,s,sco),wage(w) {}void show( ) //输出人员的有关数据{ cout<<"name:"<<name<<endl;//LHLcout<<"age:"<<age<<endl;cout<<"sex:"<<sex<<endl;cout<<"score:"<<score<<endl;cout<<"title:"<<title<<endl;//LHLcout<<"wages:"<<wage<<endl; }private:float wage; }; //工资int main( ){ Graduate grad1("Wang-li",24,'f',"assistant",89.5,1234.5);grad1.show( );return 0; }
返回
7-1 学生CPP成绩计算 (20分)
给出下面的人员基类框架:
class Person {
protected:
string name;int age;
public:
Person(); Person (string p_name, int p_age);void display () {cout<<name<<“:”<<age<<endl;}
};
建立一个派生类student,增加以下成员数据:
int ID;//学号
float cpp_score;//cpp上机成绩
float cpp_count;//cpp上机考勤
float cpp_grade;//cpp总评成绩
//总评成绩计算规则:cpp_grade = cpp_score * 0.9 + cpp_count * 2;
增加以下成员函数:
student类的无参构造函数
student类的参数化构造函数//注意cpp_grade为上机成绩和考勤的计算结果
void print()//输出当前student的信息
//其中cpp_grade输出保留一位小数//输出格式为ID name cpp_grade
生成上述类并编写主函数,根据输入的学生基本信息,建立一个学生对象,计算其cpp总评成绩,并输出其学号、姓名、总评成绩。
输入格式: 测试输入包含若干测试用例,每个测试用例占一行(学生姓名 学号 年龄 cpp成绩 cpp考勤)。当读入0时输入结束,相应的结果不要输出。
输入样例:
Bob 10001 18 75.5 4
Mike 10005 17 95.0 5
0
输出样例:
10001 Bob 75.9
10005 Mike 95.5
#include<iostream>
#include<cstring>
using namespace std;
class Person {protected:char *name;int age;public:Person(){//默认构造函数name=new char[20];age=18;//LHLstrcpy(name,"Bob"
更多推荐
LHL PTA 实验8. 继承(二)
发布评论