#include <iostream>
using namespace std;
class Person
{
private:
protected:
string name;
char sex;
int age;
public:
Person(string n="小張",char s='f',int a=0){
name=n;
sex=s;
age=a;
}
Person(Person&a){
this->name=a.name;
this->sex=a.sex;
this->age=a.age;
}
void copy(Person &a)
{
this->name=a.name;
this->sex=a.sex;
this->age=a.age;
}
void display(){
cout<<" 姓名:"<<name<<" 性別:"<<sex<<" 年齡:"<<age;
}
};
class Student:public Person{
protected:
float cpp;
int count;//最大值為10
public:
Student(string n="小張",char s='f',int a=0, float cp=0,int co=0)
:Person(n,s,a){
cpp=cp;
count=co;
}
float score(){
if(count<=5)
return cpp*0.9;
else
return cpp*0.9+count;
}
void Display(){
cout<<"姓名:"<<name<<" 性別:"<<sex<<" 年齡:"<<age<<" cpp成績:"
<<cpp<<" 考勤:"<<count<<" 綜合成績:"<<score()<<endl;
}
void copy(Student & a){
this->name=a.name;
this->sex=a.sex;
this->age=a.age;
this->cpp=a.cpp;
this->count=a.count;
}
};
class Teacher:public Person{
protected:
int id;
Student st[100];
int num;
public:
Teacher (string n="張三",char s='g',int a=0,int d=1540)://這里老是報錯
Person(n,s,a){
id=d;
num=0;
}
void Add(Student & a){
st[num].copy(a);
num++;
}
void Display(){
cout<<"教師姓名:"<<name<<" 性別:"<<sex<<" 教師年齡:"<<age
<<" 所教的班級:"<<id<<"學生人數:"<<num<<endl;
for(int i=0;i<num;i++)
st[i].Display();
}
};
int main()
{
Teacher T1("小明","m",20,154012);//這里老是報錯
Student S1("小張",'m',19 );
Student S2("小明",'m',20);
T1.Add(S1);//給教師所教班添加學生
T1.Add(S2);
T1.Display();
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/80122.html
標籤:基礎類
上一篇:快排演算法錯誤了??????
下一篇:跪求答案呀,求好心人解救
