1、1. 定义一个学生类(student),属性包括学号(sno),姓名(sname)和年龄(sage),以及一个静态成员学生数(snum),
要求:
a) 能够通过构造函数和拷贝构造函数对学生初始化和学生个数累加,
b) 能够通过析构函数实现学生个数递减,
c) 构造函数要求带默认形参,默认形参值,学号为“000”,姓名为“NoName”,年龄为0。
d) 拷贝构造函数要求实现深拷贝,
e) 能够用一个函数输出学生的所有属性,
f) 能够分别得到学生的各个属性,
g) 能够用一个函数设置学生的各个属性,
h) 写出主程序,使用student类。
class stude
2、nt
{
public:
student(char *sno1="000",char * sname1="NoName",int sage1=0)
{
sno = new char[8];
sname = new char[8];
strcpy(sno,sno1);
strcpy(sname,sname1);
sno = sno1;
sname = sname1;
sage = sage1;
SNum ++; }
student(stud
3、ent & s)
扣一分
{
sno = new char[]; //没有实现深拷贝扣两分
sname = new char[];
strcpy(sno,s.sno);
strcpy(sname,s.sname);
sage = s.sage;
SNum ++; //没有 SNum ++;扣一分
}
~stud
4、ent() //析构函数不正确扣一分
{
SNum--; //没有 SNum --;扣一分
delete sno;
delete sname;
}
char *GetSno() // 函数不正确扣一分
{ return sno; }
char *GetSname()
5、 // 函数不正确扣一分
{ return sname; }
int GetSage() // 函数不正确扣一分
{
return sage;
}
void Set(char *sno1,char * sname1,int sage1) // 函数不正确扣一分
{
sno = new char[8];
sname = new char[8];
strcpy(sno,sno1);
6、strcpy(sname,sname1);
sno = sno1;
sname = sname1;
sage = sage1;
}
void show() // 函数不正确扣一分
{
cout<<"学号:"<