#include <iostream>
#include <string>
using namespace std;
class Student{
public:
Student(char *name1,char *stu_no1,float score1);
~Student();
void show();
void show_count_sum_ave();
private:
char *name;
char *stu_no;
float score;
static int count;
static float sum;
static float ave;
};
Student::Student(char *name1,char *stu_no1,float score1)
{
name=new char[strlen(name1)+1];
strcpy(name,name1);
stu_no=new char[strlen(stu_no1)+1];
strcpy(stu_no,stu_no1);
score=score1;
++count;
sum=sum+score;
ave=sum/count;
}
Student::~Student()
{
cout<<"~Student"<<endl;
delete []name;
delete []stu_no;
}
void Student::show()
{
cout<<"姓名:"<<name<<endl;
cout<<"学号:"<<stu_no<<endl;
cout<<"成绩:"<<score<<endl;
}
void Student::show_count_sum_ave()
{
cout<<"总人数:"<<count<<endl;
cout<<"总分数:"<<sum<<endl;
cout<<"平均分数:"<<ave<<endl;
}
int Student::count=0;
float Student::sum=0;
float Student::ave=0;
int main()
{
Student stu("小花","001",90);
stu.show();
stu.show_count_sum_ave();
Student stu1("小明","002",80);
stu1.show();
stu1.show_count_sum_ave();
return 0;
}
当对象调用完后,自动调用析构函数