C++友元类的使用
题目要求:教师类作为学生类的友元类,操作学生的学分和总成绩。
思路分析:教师类作为学生类的友元类,所以包含:
class student{
friend class teacher;
};
教师类的设计,包含教师可以给学生增加学分和增加成绩,而且由于教师类是学生类的友元,所以教师类在访问学生类的时候可以直接通过student.name的形式来访问学生的所有成员变量(包括私有的),不用在学生类中添加成员函数来获得值或者修改值。
学生类:
class student{
friend class teacher;
private:
string m_name;
int m_fen;
int m_mark;
public:
void show();
void SetName(string name);
student(string name="xxx",int fen=0,int mark=0);
string GetName();
};
教师类:
class teacher{
private:
string m_name;
public:
void Name(string name);
void SetFen(student &p,int fen);
void SetMark(student &p,int mark);
teacher(string name="x");
string GetName();
};
具体代码:
#include<iostream>
#include<string>