大一C++课程 求答案

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:04:07
用C++语言编程实现如下功能:
1. 定义一个学生类其私有数据成员为:int num(学号);int age(年龄);float score(成绩);char *tname(指导教师);
静态数据成员为:
static float sum(总分);static int count(累加计数器);(均初始化为0)
公有成员函数:
构造函数:要求采用全默认值,参数初始化表的方式定义
(默认值:1000,18,100,”wang”)
char *show();//功能:返回指导教师的姓名;
static void display(teacher &);//功能:作教师类的友元函数,输出指导教师
姓名,年龄,职称,所指导学生数,其总成绩;平均成绩
void total();//功能:计算总分,累加参与统计的学生数。
static float average();//功能:计算平均分。
2. 定义一个教师类其私有数据成员为:char *name(教师姓名);int age(年龄);int pt(教师职称:1:教师2:副教授3讲师4:助教)
公有成员函数:构造函数//代三个函数的构造函数。
char *showt() //功能:返回教师的姓名。
友元函数:friend void student::display(teacher &);
3. 主函数:功能:创建学生对象数组stud[5]并初始化;创建教师对象t1;以此教师姓名检索出他所指导的学生数,并计算出其总分和平均分。最终要求输出指导教师姓名,年龄,职称,所指导学生数,其总成绩,平均成绩

#include<string>
#include <iostream>
using namespace std;
class Teacher
{public:
Teacher(string nam,int a,char s,string tit,string ad,string t);
void display();
protected:
string name;
int age;
char sex;
string title;
string addr;
string tel;
};

Teacher::Teacher(string nam,int a,char s,string tit,string ad,string t):
name(nam),age(a),sex(s),title(tit),addr(ad),tel(t){ }
void Teacher::display()
{cout<<"name:"<<name<<endl;
cout<<"age"<<age<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"title:"<<title<<endl;
cout<<"address:"<<addr<<endl;
cout<<"tel:"<<tel<<endl;
}

class Cadre
{public:
Cadre(