类与对象之student类改进(可以输入年,月,日)

这个程序比起上一个又变好了一点,我创建了两个类,birth类   和其他student类,birth类负责输入生日的年月日,student类负责其它部分,以下代码附上

//2、设计一个Student类 
//(1)基本信息:学号、姓名、性别、出生日期、院系、专业; 数据成员中:“日期”要声明为一个内嵌子对象 
//(2)Student类要包含:构造函数、内联成员函数、带默认参数的构造函数、复制构造函数
//(3)成员函数基本功能有: ? A)可以从键盘输入学生的基本信息;
//? B)定义一个函数setInfo(形参表),可以修改学生的一些基本信息函数,例如:姓名,学号可以作修改;
//? C)包括成员函数void show()显示学生信息;
//【提示】 注意带默认参数值的构造函数的声明与定义; 
//从键盘输入基本信息,调用带参数的构造函数生成学生对象; 
//不同类型的信息须使用合理的变量类型,姓名、院系等可定义为字符串,使用string来定义。

#include <iostream>
#include <string>
using namespace std;
class birth{
    public:
        void sety(int y) {
            year=y;
        }
        int gety() {
            return year;
        }
        void setm(int m) {
            month=m;
        }
        int getm() {
            return month;
        }
        void setd1(int d1) {
            day=d1;
        }
        int getd1() {
            return day;
        }
        void show1() {
    cout<<"你的出生日期分别为"<<gety()<<"年 "<<getm()<<"月 "<<getd1()<<"日 "<<endl; }
    private:
        int year;
        int month;
        int day;
}; 
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 show2() {
            cout<<"学生的学号为:"<<getID()<<endl;
            cout<<"学生的姓名为:"<<getname()<<endl;
            cout<<"学生的性别为:"<<getsex()<<endl;
            //cout<<"学生的出生日期为:"<<"年"<<class::birth.gety()<<"月"<<birth.getm()<<"日"<<birth.getd()<<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,y,m,d1;
    string b,c,d,f;
    cout<<"请分别输入学生的学号,姓名,性别,出生日期,学院,专业"<<endl;
    cin>>a>>f>>b>>y>>m>>d1>>c>>d;
    student s1;
    s1.setID(a);
    s1.setname(f);
    s1.setsex(b);
    birth c1;
    c1.sety(y);
    c1.setm(m);
    c1.setd1(d1);
    //s1.setbirthday();
    s1.setschool(c);
    s1.setsubject(d);
    c1.show1();
    s1.show2();
    return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值