吾浑然天成 2022-04-18 11:33 采纳率: 80%
浏览 55
已结题

这个C++程序问题怎么改啊,不会改


//1.定义Date类,包含私有数据成员:int Year,Month,Day;
//   构造函数Date(int y=2000,int m=4,int d=20)
//  成员函数print()用于输出日期,样式为2021/4/20
#include<iostream>
using namespace std;
class Date
{public:
    Date(int y=2000,int m=4,int d=20)
    {
        Year=y;
        Month=m;
        Day=d;
    }
    print()
    {
        cout<<"2021"<<"/"<<Month<<"/"<<Day<<endl;
    }
private:
    int Year;
    int Month;
    int Day;
};

//2.定义Person类,包含私有数据成员
//        string IdPerson; //身份证号,6位数字
//        string Name; //姓名
//        char Sex; //性别
//        Date Birthday; //生日 
//    包含数据成员的get/set函数和下列成员函数
//        构造函数Person(string id, string n,char s,Date d)
//        void PrintPersonInfo()输出信息格式如下
//            身份证号:123123
//         姓名:xiaoming
//            性别:男
//            出生日期:2000/4/20
class Person
{
    public:
        string IdPerson;
        string Name;
        char Sex; 
        Date Birthday;
    Person(string id,string n,char s,Date d)
    {
        IdPerson=id;
        Name=n;
        Sex=s;
        Birthday=d;
    }
    void PrintPersonInfo()
    {
        cout<<"身份证号:123123"<<endl;
        cout<<"姓名:xiaoming"<<endl;
        cout<<"性别:男"<<endl;
        cout<<"出生日期:2000/4/20"<<endl;
    }
};

//3.定义Student类,公有派生自Person类,增加数据成员
//        string NoStudent; //学号
//        float score;      //课程成绩
//    包含数据成员的get/set函数和下列成员函数
//        构造函数Student(string sid,float s,string pid, string n,char sex,Date d)
//        void PrintStudentInfo()输出信息格式如下
//            身份证号:456456
//            姓名:xiaohong
//            性别:女
//            出生日期:2000/4/20
//            学号:20200101
//            成绩:100
class Student:public Person
{public:
        string NoStudent; 
        float score; 
    Student(string sid,float s,string pid,string n,char sex,Date d)
    {
        IdPerson=pid;
        score=s;
        NoStudent=sid;
        Sex=sex;
        Birthday=d;
        Name=n;
    }
    void PrintStudentInfo()
    {
        cout<<"身份证号:456456"<<endl;
        cout<<"姓名:xiaohong"<<endl;
        cout<<"性别:女"<<endl;
        cout<<"出生日期:2000/4/20"<<endl;
        cout<<"学号:20200101"<<endl;
        cout<<"成绩:100"<<endl;
    }
};

int main()
{
        //测试Person类
        Date d;
        Person p("123123","xiaoming",'m',d);
        p.PrintPersonInfo();

        //测试Student类
        Student s("20200101",100,"456456","xiaohong",'f',d);
        s.PrintStudentInfo();
        return 0;
}

  • 写回答

1条回答 默认 最新

  • kinghero123456 2022-04-18 11:58
    关注
    
    //1.定义Date类,包含私有数据成员:int Year,Month,Day;
    //   构造函数Date(int y=2000,int m=4,int d=20)
    //  成员函数print()用于输出日期,样式为2021/4/20
    #include<iostream>
    #include <string>
    using namespace std;
    class Date
    {
    public:
        Date(int y = 2000, int m = 4, int d = 20)
        {
            Year = y;
            Month = m;
            Day = d;
        }
        void print()
        {
            cout << Year << "/" << Month << "/" << Day << endl;
        }
    private:
        int Year;
        int Month;
        int Day;
    };
    
    //2.定义Person类,包含私有数据成员
    //        string IdPerson; //身份证号,6位数字
    //        string Name; //姓名
    //        char Sex; //性别
    //        Date Birthday; //生日 
    //    包含数据成员的get/set函数和下列成员函数
    //        构造函数Person(string id, string n,char s,Date d)
    //        void PrintPersonInfo()输出信息格式如下
    //            身份证号:123123
    //         姓名:xiaoming
    //            性别:男
    //            出生日期:2000/4/20
    class Person
    {
    public:
        string IdPerson;
        string Name;
        char Sex;
        Date Birthday;
        Person(string id, string n, char s, Date d)
        {
            IdPerson = id;
            Name = n;
            Sex = s;
            Birthday = d;
        }
        void PrintPersonInfo()
        {
            cout << "身份证号:"<< IdPerson << endl;
            cout << "姓名:"<< Name << endl;
            cout << "性别:"<< (Sex == 'm' ? "男":"女") << endl;
            cout << "出生日期:";
            Birthday.print();
        }
    };
    
    //3.定义Student类,公有派生自Person类,增加数据成员
    //        string NoStudent; //学号
    //        float score;      //课程成绩
    //    包含数据成员的get/set函数和下列成员函数
    //        构造函数Student(string sid,float s,string pid, string n,char sex,Date d)
    //        void PrintStudentInfo()输出信息格式如下
    //            身份证号:456456
    //            姓名:xiaohong
    //            性别:女
    //            出生日期:2000/4/20
    //            学号:20200101
    //            成绩:100
    class Student :public Person
    {
    public:
        string NoStudent;
        float score;
        Student(string sid, float s, string pid, string n, char sex, Date d):Person(pid,n,sex,d)
        {
            IdPerson = pid;
            score = s;
            NoStudent = sid;
            Sex = sex;
            Birthday = d;
            Name = n;
        }
        void PrintStudentInfo()
        {
            PrintPersonInfo();
            cout << "学号:"<< NoStudent << endl;
            cout << "成绩:"<< score << endl;
        }
    };
    
    int main()
    {
        //测试Person类
        Date d;
        Person p("123123", "xiaoming", 'm', d);
        p.PrintPersonInfo();
    
        //测试Student类
        Student s("20200101", 100, "456456", "xiaohong", 'f', d);
        s.PrintStudentInfo();
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 已采纳回答 4月25日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题