c++ 编程,高手请指教
设计一个用于学生管理的Student类,属性有:学号、年龄、性别、出生日期、身份证号等。其中“出生日期”声明为一个“日期”类的内嵌子对象。用成员函数实现对学生信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、组合。
设计一个用于学生管理的Student类,属性有:学号、年龄、性别、出生日期、身份证号等。其中“出生日期”声明为一个“日期”类的内嵌子对象。用成员函数实现对学生信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、组合。
答案:class DATE
{
private:
int m_year;
int m_month;
int m_day;
public:
DATE()
{
m_year=2000;
m_month=1;
m_day=1;
}
void SetDate(int year,int month,int day)
{
m_year=year;
m_month=month;
m_day=day;
}
void GetDate(int year,int month,int day)
{
year=m_year;
month=m_month;
day=m_day;
}
}
上面这个类为日期类 按说应该把函数声明与实现写在两个文件里 但是为了方便我写一起了 你回去自己改 下同 为了代码的移植性 所以代码中没有用到cin和cout 如果需要请自己修改
class Student
{
private:
string m_number;
int m_age;
bool m_sex;
DATE m_brithday;
string m_ID;
public:
Student()//不知道是否构造函数中要申请内存 如需申请请自行修改
{
m_number="000000";
m_age=0;
m_sex=0;
m_ID="000000000000000000";
}
Student(const Student& pre)
{
m_number=pre.m_number;
m_age=pre.m_age;
m_sex=pre.m_sex;
m_brithday=pre.m_brithday;
m_ID=pre.m_ID;
}
~Student(){};//如果构造函数中申请内存 请在此释放
void SetNumber(string number)
{
m_number=number;
}
string GetNumber()
{
return m_number;
}
void SetAge(int age)
{
m_age=age;
}
int GetAge()
{
return m_age;
}
void SetSex(bool sex)
{
m_sex=sex;
}
bool GetSex()
{
return m_sex;
}
void SetBirthday(int year,int month,int day)
{
m_brithday.SetDate(year,month,day);
}
void GetBirthday(int year,int month,int day)
{
m_brithday.GetDate(year,month,day);
}
void SetID(string ID)
{
m_ID=ID;
}
string GetID()
{
return m_ID;
}
}
临时写的 没有编译过 你自己根据要求再试试
不好意思刚开始忘记了拷贝构造函数
另外建议你重载=操作符看你的教科书。。。书上不是有例子么
上一个:怎么用DEV C++编程
下一个:c++编程问题数组问题