c++ 定义一个学生类
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能够通过构造函数和拷贝构造函数对学生初始化和学生个数累加能够通过析构函数实现学生个数递减构造函数要求带默认形参默认形参值学号为000姓名为noname年龄为0
1.定义一个学生类(student),属性包括学号(sno),姓名(sname)和年龄(sage),以及一个静态成员学生数(snum),
要求:
{
sno = new char[8];
sname = new char[8];
strcpy(sno,sno1);
strcpy(sname,sname1);
sno = sno1;
sname = sname1;
sage = sage1;
}
void show() //函数不正确扣一分
{
cout<<"学号:"<<sno<<"姓名:"<<sname<<"年龄:"<<sage<<"学生
h)写出主程序,使用student类。
class student
{
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(student & s)
扣一分
{
sno = new char[]; //没有实现深ຫໍສະໝຸດ Baidu贝扣两分
sname = new char[];
strcpy(sno,s.sno);
{ return sno; }
char *GetSname() //函数不正确扣一分
{ return sname; }
int GetSage() //函数不正确扣一分
{
return sage;
}
void Set(char *sno1,char * sname1,int sage1) //函数不正确扣一分
strcpy(sname,s.sname);
sage = s.sage;
SNum ++; //没有SNum ++;扣一分
}
~student() //析构函数不正确扣一分
{
SNum--; //没有SNum --;扣一分
delete sno;
delete sname;
}
char *GetSno() //函数不正确扣一分
a)能够通过构造函数和拷贝构造函数对学生初始化和学生个数累加,
b)能够通过析构函数实现学生个数递减,
c)构造函数要求带默认形参,默认形参值,学号为“000”,姓名为“NoName”,年龄为0。
d)拷贝构造函数要求实现深拷贝,
e)能够用一个函数输出学生的所有属性,
f)能够分别得到学生的各个属性,
g)能够用一个函数设置学生的各个属性,
数:"<<SNum<<endl;
}
private:
char * sno,* sname;
int sage;
static int SNum; //静态成员不正确扣一分
};
int student::SNum = 0; //初始化不正确扣一分
void main()
{
student s1("001","tom",25); //主函数不正确扣两分
student s2(s1);
s2.Set("002","Jack",25);
s1.show();
s2.show();
}
1.定义一个学生类(student),属性包括学号(sno),姓名(sname)和年龄(sage),以及一个静态成员学生数(snum),
要求:
{
sno = new char[8];
sname = new char[8];
strcpy(sno,sno1);
strcpy(sname,sname1);
sno = sno1;
sname = sname1;
sage = sage1;
}
void show() //函数不正确扣一分
{
cout<<"学号:"<<sno<<"姓名:"<<sname<<"年龄:"<<sage<<"学生
h)写出主程序,使用student类。
class student
{
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(student & s)
扣一分
{
sno = new char[]; //没有实现深ຫໍສະໝຸດ Baidu贝扣两分
sname = new char[];
strcpy(sno,s.sno);
{ return sno; }
char *GetSname() //函数不正确扣一分
{ return sname; }
int GetSage() //函数不正确扣一分
{
return sage;
}
void Set(char *sno1,char * sname1,int sage1) //函数不正确扣一分
strcpy(sname,s.sname);
sage = s.sage;
SNum ++; //没有SNum ++;扣一分
}
~student() //析构函数不正确扣一分
{
SNum--; //没有SNum --;扣一分
delete sno;
delete sname;
}
char *GetSno() //函数不正确扣一分
a)能够通过构造函数和拷贝构造函数对学生初始化和学生个数累加,
b)能够通过析构函数实现学生个数递减,
c)构造函数要求带默认形参,默认形参值,学号为“000”,姓名为“NoName”,年龄为0。
d)拷贝构造函数要求实现深拷贝,
e)能够用一个函数输出学生的所有属性,
f)能够分别得到学生的各个属性,
g)能够用一个函数设置学生的各个属性,
数:"<<SNum<<endl;
}
private:
char * sno,* sname;
int sage;
static int SNum; //静态成员不正确扣一分
};
int student::SNum = 0; //初始化不正确扣一分
void main()
{
student s1("001","tom",25); //主函数不正确扣两分
student s2(s1);
s2.Set("002","Jack",25);
s1.show();
s2.show();
}