C++程序设计 请给出完整程序参考

1)建立一个教师类Teacher,其包含3个私有数据成员:num(工号)、name(姓名)、sex(性别),包含2个公有成员函数:带参构造函数(用于对三个数据成员进行初始化),display函数(输出数据成员)。
2)建立一个生日类BirthDate,其包含3个私有数据成员:year(年)、month(月)、day(日),包含3个公有成员函数:带参构造函数(用于对三个数据成员进行初始化),display函数(输出数据成员),change函数(修改生日数据,即将3个数据成员的值改为change函数参数指定的值)。
3)建立一个教授类Professor,它是Teacher类的公有派生类,在Teacher类的基础上增加了私有数据生日信息birthday(birthday是BirthDate类的对象),其新增成员函数包含:带参构造函数(对新增的和继承的数据成员初始化),display函数(输出所有数据成员),changebirth函数(将修改生日信息修改为函数参数指定日期)。
4)main函数中的操作步骤如下:
 定义Professor类的对象prof1
 输出对象prof1的所有数据信息
 修改prof1的生日信息
 输出对象prof1的所有数据信息

#include
#include
#include
using namespace std;
class Teacher;
class Student
{public:
void display()
{cout<<"num:"<<num<<endl<<"name:"<<name<<endl<<"sex:"<<sex<<endl<<"score:"<<score<<endl;}
Student(){};
Student(int m,char n[20],char x,float s)
{num=m;strcpy(name,n);sex=x;score=s;}
int num;
char name[20];
char sex;
float score;
};

class Teacher
{
public:
void setpay(float a)
{pay=a;}
void display()
{cout<<"num:"< Teacher(){};
Teacher(int m,char n[20],char x,float p)
{num=m;strcpy(name,n);sex=x;pay=p;}
Teacher(Student & s)
{
num=s.num;
strcpy(name,s.name);
sex=s.sex;
}
private:
int num;
char name[20];
char sex;
float pay;
};
int main()
{
cout cout int num;
char name[20];
char sex;
float score;
float pay;
cin>>num>>name>>sex>>pay;
Teacher teacher1(num,name,sex,pay);
cin>>num>>name>>sex>>score;
Student student1(num,name,sex,score);
cout<<"student1:"<<endl;
student1.display();
Teacher teacher2=Teacher(student1);
teacher2.setpay(1500);
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}

#include
#include
using namespace std;

class Teacher {
private:
int num;
string name;
string sex;

public:
Teacher(int num,string name,string sex) {
this->num = num;
this->name = name;
this->sex = sex;
}
void display(){}
}

#include
#include
using namespace std;

class Teacher {
private:
int num;
string name;
string sex;

public:
Teacher(int num,string name,string sex) {
this->num = num;
this->name = name;
this->sex = sex;
}

void display() {
    cout << "工号:" << num << endl;
    cout << "姓名:" << name << endl;
    cout << "性别:" << sex << endl;
}

};

class BirthDate {
private:
int year;
int month;
int day;

public:
BirthDate() {}

BirthDate(int year, int month, int day) {
    this->year = year;
    this->month = month;
    this->day = day;
}

void display() {
    cout << "生日:" << year << "年" << month << "月" << day << "日" << endl;
}

void change(int year, int month, int day) {
    this->year = year;
    this->month = month;
    this->day = day;
}

};

class Professor :public Teacher {
private:
BirthDate birthday;

public:
Professor(int num, string name, string sex, BirthDate birthday) :Teacher(num, name, sex) {
this->birthday = birthday;
}

void display() {
    Teacher::display();
    birthday.display();
}

void changebirth(int year, int month, int day) {
    birthday.change(year, month, day);
}

};

void main() {
Professor prof1(10000, "胡歌", "男", { 2018,4,24 });
prof1.display();
prof1.changebirth(1982, 9, 20);
cout << "*********************" << endl;
prof1.display();
}

#include
#include
using namespace std;
class Teacher {
public:
Teacher(int, string, char);
void display();
private:
int num;
string name;
char sex;
};
Teacher::Teacher(int n, string na, char s): num(n), name(na), sex(s) { }

void Teacher::display() {
cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; }

class BirthDate {
public:
BirthDate(int, int, int);
void display();
void change(int, int, int); //
private:
int year;
int month;
int day; };

BirthDate::BirthDate(int y, int m, int d): year(y), month(m), day(d) { }
void BirthDate::display(){
cout<<"birthday:"<<year<<'/'<<month<<'/'<<
day<<endl;
}
void BirthDate::change(int y, int m, int d) {
year = y; month = m; day = d;
}

class Professor:public Teacher {
public:
Professor(int, string, char, int, int, int);
void display();
changebirth(int, int, int);
private:
BirthDate birthday;

};
Professor::Professor(int n,string na,char s,int y,int m,int d): Teacher(n,na,s), birthday(y,m,d) {}
void Professor::display() {
Teacher::display();
birthday.display(); }
void Professor::changebirth(int y,int m,int d){
birthday.change(y,m,d);
}

void main() {
Professor prof1(1001,"Wang",'f',1993,5,10);

prof1.display();
cout<<endl<<endl;

prof1.changebirth(1998,10,12);
prof1.display();
}

很基础的问题,多看书,要掌握牢靠

#include <iostream>
#include <string>

class Teacher {
public:
    Teacher(int num, const std::string &name, const std::string &sex) : m_num(num), m_name(name), m_sex(sex) {}
    ~Teacher() {}

    void display() const;

private:
    int m_num;
    std::string m_name;
    std::string m_sex;
};

void Teacher::display() const {
    std::cout << "工号: " << m_num << std::endl
            << "姓名: " << m_name << std::endl
            << "性别: " << m_sex << std::endl;
}

class BirthDate {
public:
    BirthDate(int year, int month, int day) : m_year(year), m_month(month), m_day(day) {}
    ~BirthDate() {}

    void display() const;
    void change(int year, int month, int day);

private:
    int m_year;
    int m_month;
    int m_day;
};

void BirthDate::display() const {
    std::cout << "生日: " << m_year<< "年" << m_month << "月" << m_day << "日" << std::endl;
}

void BirthDate::change(int year, int month, int day) {
    m_year = year;
    m_month = month;
    m_day = day;
}

class Professor : public Teacher {
public:
    Professor(int num, const std::string &name, const std::string &sex, int year, int month, int day)
        : Teacher(num, name, sex), m_bd(year, month, day) {}
    ~Professor() {}

    void display() const;
    void changebirth(int year, int month, int day);

private:
    BirthDate m_bd;
};

void Professor::display() const {
    Teacher::display();
    m_bd.display();
}

void Professor::changebirth(int year, int month, int day) {
    m_bd.change(year, month, day);
}

int main() {
    Professor prof1(111, "x先生", "男", 1999, 2, 2);
    prof1.display();

    prof1.changebirth(2000, 0, 0);
    prof1.display();

    return 0;
}