用C++编写程序:定义Student类和Score类,输出一个学生的成绩单(包括学号、姓名、高数、

用C++编写程序:定义Student类和Score类,输出一个学生的成绩单(包括学号、姓名、高数、英语、政治、C++成绩)。 【要求:】使用友元的不同形式加以实现。 形式1:非成员函数作为友元函数 形式2:成员函数作为友元函数 形式3:友元类 形式4:类的组合

#include <string>
#include <iostream>
using namespace std;

class Student
{

public:
// 带参数的构造函数初始化对象
Student(int id, string name, double score)
: id(id), name(name), score(score)
{
count++;
total+=score;
}
// 修改分数成员函数
void ChangeScore(double newScore)
{
total +=newScore-score;

score=newScore;
}
static double GetAverage()
{
return total / count;
}
private:
int id;
string name;
double score;
private:
static double total;
static int count;
};

// 类外对静态数据成员进行定义声明
double Student::total = 0.0f;
int Student::count= 0;

void main()
{
// 声明四个学生对象并初始化
Student s1(1001,"James", 86);
Student s2(1001,"Kate", 67);
Student s3(1001,"Lucy", 91);
Student s4(1001,"LiLei", 65);

cout<<"The average score is "<<Student::GetAverage()<<endl;

// 修改成绩
s1.ChangeScore(50);
s2.ChangeScore(50);
s3.ChangeScore(50);
s4.ChangeScore(50);

cout<<"The average score is "<<Student::GetAverage()<<endl;

system("pause");
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网