65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class Student
{
public:
Student()
{
No=0;
Name=" ";
Sum=0.0;
Averages=0.0;
}
~Student(){cout<<"结束统计A类."<<endl;}
void Get(int,char *,float);
void Set();
void Average();
private:
int No;
char *Name;
float Sum;
float Averages;
static int Noo;
};
int Student::Noo = 0;
void Student::Get(int x,char *y,float z)
{
No=x;
Name=y;
Sum=z;
Averages+=Sum;
Noo++;
}
void Student::Set()
{
cout<<"学码:"<<No<<"姓名:"<<Name<<"成绩:"<<Sum<<"分 ";
}
void Student::Average()
{
cout<<"总共有"<<Noo<<"个人的平均分数是:"<<Averages/Noo<<"分.";
}
//////////////////////////////////////////////////////////////////////
class Student2:public Student
{
public:
Student2():Student()
{
Height=Weight=0;
AverageHeight=AverageWeight=0.0;
}
~Student2(){cout<<"结束统计B类."<<endl;}
void Get(int,char *,float,float,float);
void Set();
void Average();
private:
float Height;
float Weight;
float AverageHeight;
float AverageWeight;
};
void Student2::Get(int x,char *y,float z,float h,float w)
{
Student::Get(x,y,z);
Height=h;
Weight=w;
AverageHeight+=Height;
AverageWeight+=Weight;
}
void Student2::Set()
{
Student::Set();
cout<<"身高:"<<Height<<"米"<<"体重:"<<Weight<<"斤"<<endl;
}
void Student2::Average()
{
Student::Average();
cout<<"平均身高:"<<AverageHeight/Student::Noo<<"平均体重:"<<AverageWeight/Student::Noo<<endl;
}
int main()
{
Student2 c;
c.Get(1,"张三",90,1.75,110);
c.Set();
c.Get(2,"李四",85,1.70,100);
c.Set();
c.Get(3,"王五",80,1.65,95);
c.Set();
c.Average();
return 0;
}
把class Student改下,把静态成员改成保护或者公有
class Student
{
public:
Student()
{
No=0;
Name=" ";
Sum=0.0;
Averages=0.0;
}
~Student(){cout<<"结束统计A类."<<endl;}
void Get(int,char *,float);
void Set();
void Average();
private:
int No;
char *Name;
float Sum;
float Averages;
protected:
static int Noo;
};