静态成员

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

标题: 2、静态成员

时限: 1000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:1.设计一个Student类:保护成员:string Name,int Number, int Score,静态保护成员TotalCount;并完成其构造函数和析构函数,在析构函数中打印被析构的学生信息(包括Name,Nuber,Score,TotalCount)。

2.建立一个学生类的对象指针数组,长度由用户输入。而后,用户依次输入arrLength条学生的记录(包括姓名,学号和平均分),并为指针数组赋值。

3.由用户输入要删除的学生记录的条数delNumber及其在数组中的位置。删除这些记录。

输入:指针数组长度arrLength;arrLength条学生记录;

删除记录的条数delNumber;删除记录在数组中的位置。

输出:被删除的学生记录。

输入样例:5

ZhangSan 200905 98 LiSi 200906 78 WangWu 200907 88 ZhuangFeng 200906 68 MaiSha 200909 99

3

0 1 2

输出样例:ZhangSan 200905 98 4 LiSi 200906 78 3 WangWu 200907 88 2

提示: TotalCount的值在student对象构造和析构的时候更改。

来源:

#include

#include

#define MAX 20

using namespace std;

class Student

{

private:

char *Name;

int Number;

int Score;

static int TotalCount;

public:

static int GetCount()

{

return TotalCount;

}

Student(char * ="",int=0,int=0);

~Student();

};

int Student::TotalCount=0;

Student::Student(char *name,int number,int score)

{

Name=new char[strlen(name)+1];

strcpy(Name,name);

Number=number;

Score=score;

TotalCount++;

}

Student::~Student()

{

TotalCount--;

cout<

int main()

{

int arrLength;

cin>>arrLength;

Student *ClassStudent[MAX];

for(int i=0;i

{

char name[20];

int number;

int score;

cin>>name>>number>>score;

ClassStudent[i]=new Student(name,number,score);

}

int delNumber;

cin>>delNumber;

for(int i=0;i

{

int k;

cin>>k;

delete ClassStudent[k];

}

return 0;

}

相关文档
最新文档