早教吧作业答案频道 -->其他-->
以下是一个学生类(Student)的类定义部分,请完成相应的类的实现部分,并编写相应的main函数测试相应的功#includeclassStudent{private:intnumber;//学号charname[20];//姓名Datebirth;//出生日期,为日期类
题目详情
以下是一个学生类(Student)的类定义部分,请完成相应的类的实现部分,并编写相应的main函数测试相应的功
#include
class Student{
private:
int number;//学号
char name[20];//姓名
Date birth;//出生日期,为日期类的对象
public:
Student();
Student(int n,char *m,Date d);
Student(const Student &s);
Student();
void setnumber(int *n);//设置学号
void setname(char *s);//设置姓名
void setbirth(Date d);//设置出生日期
void printstudent();//输出各成员的值
};
#include
class Student{
private:
int number;//学号
char name[20];//姓名
Date birth;//出生日期,为日期类的对象
public:
Student();
Student(int n,char *m,Date d);
Student(const Student &s);
Student();
void setnumber(int *n);//设置学号
void setname(char *s);//设置姓名
void setbirth(Date d);//设置出生日期
void printstudent();//输出各成员的值
};
▼优质解答
答案和解析
1.我建议楼主用string类型.我写的代码就是用string类型的,个人觉得比较方便使用,如果你想减少内存开销的话可以用你用的那几种数据类型,因为有些学号里面有字母,而名字长度也是不确定的,char name[20]只能接纳9个汉字,当然这已经足够用了,我懂得,有了string这种类型就不必再为生日定义另外一种数据类型的.
2.以下是我写的一些代码和测试用例,希望对你有些帮助和启发:
#include
#include
using namespace std;
class Student
{
private:
string NO;//学号
string Name;//姓名
string Birthday;//出生日期,为日期类的对象
public:
Student(){};//string 型变量默认值为空所以不需要构造函数对其进行初始化了,如果有其他类型变量请自行添加
Student(const string& NO,const string& Name,const string& Birthday);
Student(const Student& Obj);
~Student();
string& SetNO(const string& NO) ;//设置学号
string& SetName(const string& Name);//设置姓名
string& SetBirthday(const string& Birthday);//设置出生日期
void DisplayStu();//输出各成员的值
};
Student::Student(const string& NO,const string& Name,const string& Birthday)
{
this->NO=NO;
this->Name=Name;
this->Birthday=Birthday;
}
Student::Student(const Student& Obj)
{
this->NO=Obj.NO;
this->Name=Obj.Name;
this->Birthday=Obj.Birthday;
}
Student::~Student()
{ NO=Name=Birthday=""; }
string& Student::SetNO(const string& NO) //设置学号
{ return this->NO=NO;}
string& Student::SetName(const string& Name)//设置姓名
{ return this->Name=Name;}
string& Student::SetBirthday(const string& Birthday) //设置出生日期
{ return this->Birthday=Birthday;}
void Student::DisplayStu() //输出各成员的值
{
cout
2.以下是我写的一些代码和测试用例,希望对你有些帮助和启发:
#include
#include
using namespace std;
class Student
{
private:
string NO;//学号
string Name;//姓名
string Birthday;//出生日期,为日期类的对象
public:
Student(){};//string 型变量默认值为空所以不需要构造函数对其进行初始化了,如果有其他类型变量请自行添加
Student(const string& NO,const string& Name,const string& Birthday);
Student(const Student& Obj);
~Student();
string& SetNO(const string& NO) ;//设置学号
string& SetName(const string& Name);//设置姓名
string& SetBirthday(const string& Birthday);//设置出生日期
void DisplayStu();//输出各成员的值
};
Student::Student(const string& NO,const string& Name,const string& Birthday)
{
this->NO=NO;
this->Name=Name;
this->Birthday=Birthday;
}
Student::Student(const Student& Obj)
{
this->NO=Obj.NO;
this->Name=Obj.Name;
this->Birthday=Obj.Birthday;
}
Student::~Student()
{ NO=Name=Birthday=""; }
string& Student::SetNO(const string& NO) //设置学号
{ return this->NO=NO;}
string& Student::SetName(const string& Name)//设置姓名
{ return this->Name=Name;}
string& Student::SetBirthday(const string& Birthday) //设置出生日期
{ return this->Birthday=Birthday;}
void Student::DisplayStu() //输出各成员的值
{
cout
看了 以下是一个学生类(Stude...的网友还看了以下:
设集合A={1,a,b},B={a,a^2,ab}且A=B,求实数A,B的值因为集合需要满足互异性 2020-05-15 …
设a.b.c分别是三角形ABC的三个内角A.B.C所对的边,由a2=b(b+c)知与满足的关系为 2020-05-15 …
如图正方形被一条曲线分成A、B两部分,下面()说法正确.A.如果a>b,那么A周长大于B周长B.如 2020-05-17 …
已知f(X)=Lg1-X/1+X,a,b属于(-1,1)求证:f(a)+f(B)=F(A+B)/1 2020-05-22 …
a^3+b^3+c^3-3abc=0=(a+b)^3+c^3-3a^2b-3ab^2-3abc,我 2020-07-31 …
已知1/m-1/n=1,求5m+7mn-5n/2n-3mn-2m的值计算(2)a/b-b/a-a^2 2020-11-01 …
下列命题:①a⊥αb⊂α⇒a⊥b;②a⊥αa∥b⇒b⊥α;③a⊥bb⊂α⇒a⊥α;④a⊥αb∥α⇒b 2020-11-02 …
若a(a-1)-(a^2-b)=7,则a^2+b^2)/2-ab=?若a(a-1)-(a²-b)=7 2020-11-07 …
下列对应f:A→B是从集合A到集合B的函数的是A.A=R,B={x∈r|x>0},f:x→|x|,f 2021-01-01 …
如果a、b是有理数,则下列各式子成立的是()A.如果a<0,b<0,那么a+b>0B.如果a>0,b 2021-02-02 …