老师布置了类与对象的实验作业,因为上课讲的课太快,我理解能力太差,还有一点是没有坚持观看,没有坚持黑马程序员的学习,这一部分一开始做的时候真就跟断了片一样,老师上课还展示过一名已经写完同学的代码,因为自己一开始没有把构造函数,析构函数,复制构造函数啥的学明白,然后格式什么的也没搞清楚,看到内个同学的代码真的是有被吓到。。。后来没办法了,继续回到黑马进行学习,真的是恍然大悟,是我把这个题目想复杂了,是我想复杂了,然后就突然想起来,上次的实验报告,是我在看完黑马程序员以后才做的,而且那一次我拿到了满分的成绩,突然感觉自己好傻好傻,怎么会放弃继续学习呢? 不过还好,才大一,发现问题,及时解决问题,就好了,大家一定要坚持啊,下面是我的关于student类的相关代码,希望对你们有帮助。
题目是这样描述的
2、设计一个Student类
(1)基本信息:学号、姓名、性别、出生日期、院系、专业; 数据成员中:“日期”要声明为一个内嵌子对象
(2)Student类要包含:构造函数、内联成员函数、带默认参数的构造函数、复制构造函数
(3)成员函数基本功能有:
A)可以从键盘输入学生的基本信息;
B)定义一个函数setInfo(形参表),可以修改学生的一些基本信息函数,例如:姓名,学号可以作修改;
C)包括成员函数void show()显示学生信息; 【提示】 注意带默认参数值的构造函数的声明与定义; 从键盘输入基本信息,调用带参数的构造函数生成学生对象; 不同类型的信息须使用合理的变量类型,姓名、院系等可定义为字符串,使用string来定义。
明确几个点,其实这个题一点都不难。
第一点,使用set函数来进行值的传递
第二点,使用get函数来获取结果
第三点,使用cout函数来输出结果
第四点,注意数据的类型,是int型,还是string型
第五点,遵照格式,将其打出来就好
#include <iostream>
#include <string>
using namespace std;
class student{
public:
student() {}
student(const student &p) {}
~student() {}
void setID (int a) {
m_ID=a;
}
int getID() {
return m_ID;
}
void setname(string f) {
m_name=f;
}
string getname() {
return m_name;
}
void setsex(string b) {
m_sex=b;
}
string getsex() {
return m_sex;
}
void setbirthday(int e) {
m_birthday=e;
}
string getbirthday() {
return m_birthday;
}
void setschool(string c){
m_school=c;
}
string getschool(){
return m_school;
}
void setsubject(string d) {
m_subject=d;
}
string getsubject() {
return m_subject;
}
void show() {
cout<<"学生的学号为:"<<getID()<<endl;
cout<<"学生的姓名为:"<<getname()<<endl;
cout<<"学生的性别为:"<<getsex()<<endl;
cout<<"学生的出生日期为:"<<getbirthday()<<endl;
cout<<"学生的学院为:"<<getschool()<<endl;
cout<<"学生的专业为:"<<getsubject()<<endl;
}
private:
int m_ID;
string m_name;
string m_sex;
string m_birthday;
string m_school;
string m_subject;
};
int main() {
int a,e;
string b,c,d,f;
cout<<"请分别输入学生的学号,姓名,性别,出生日期,学院,专业"<<endl;
cin>>a>>f>>b>>e>>c>>d;
student s1;
s1.setID(a);
s1.setname(f);
s1.setsex(b);
s1.setbirthday(e);
s1.setschool(c);
s1.setsubject(d);
s1.show();
return 0;
}