希望大佬帮我解决一下这个问题不是太懂


#include <iostream>
#include <string.h>

using namespace std;
class birthday;
class People
{
public:
    class birthday//people中birthday类的聚集
    {
        public:
        birthday(int y=0,int m=0,int d=0)//构造函数初始化
        {
            year=y;
            month=m;
            day=d;
        }
        birthday(birthday&b)//复制构造函数
        {
            year=b.year;
            month=b.month;
            day=b.day;
        }
        void setbirthday()//生日信息的设置
        {
            int yy,mm,dd;
            cout<<"请输入生日"<<endl;
            cin>>yy>>mm>>dd;
            year=yy;
            month=mm;
            day=dd;
        }
        inline void showbirthday()//生日信息的展示
        {
        cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
        }
        ~birthday(){};
        private:
        int year,month,day;
    };
    void showIF();//显示员工的信息
    People(birthday BD,char num[]=" ",char idnum[]=" ",char sx[]=" ",char nm[]=" ")//初始化people
    {
        Birthday=BD;
        strcpy(name,nm);
        strcpy(id,idnum);
        strcpy(sex,sx);
        strcpy(number,num);
    }
    People();
     People(People&p):Birthday(p.Birthday)
     {
            strcpy(name,p.name);
            strcpy(number,p.number);
            Birthday=p.Birthday;
            strcpy(sex,p.sex);
            strcpy(id,p.id);
     }
    ~People(){};
private:
    char name[11];
    char number[7];
    char sex[3];
    char id[16];
    birthday Birthday;

};
inline void People::showIF()//展示信息,可能会多次使用设置为内联函数
{
    cout<<"该员工信息如下:"<<endl;
    cout<<"name    number    sex(m/w)    id    birthday"<<endl;
    cout<<"        "<<name<<"  "<<number<<"        "<<sex<<"       "<<id<<"  ";
    Birthday.showbirthday();
}
int main()
{
    People p5[5];
    char num1[7],id1[16],sex1[3],name1[11];
    for(int i=0;i<5;i++)
    {
        People.birthday b1;
        b1.setbirthday();
        cout<<"请输入员工的name:";
        cin>>name1;
        cout<<"请输入员工的number:";
        cin>>num1;
        cout<<"请输入员工的sex(w为女性,m为男性):";
        cin>>sex1;
        cout<<"请输入员工的id:";
        cin>>id1;
        People p[i](b1,num1,id1,sex1,name1);//对P1对象进行初始化
    }
    for(int i=0;i<5;i++)
    p5[i].showIF();
    return 0;
}

主要是     People.birthday b1; 这一行报错 我是整体都不太清晰 想请问一下大佬们怎么改

是对象聚合不是类聚合,C++不是Java,不支持类聚合

#include <iostream>
#include <string.h>

using namespace std;

class birthday//people中birthday类的聚集
{
    public:
    birthday(int y=0,int m=0,int d=0)//构造函数初始化
    {
        year=y;
        month=m;
        day=d;
    }
    birthday(birthday&b)//复制构造函数
    {
        year=b.year;
        month=b.month;
        day=b.day;
    }
    void setbirthday()//生日信息的设置
    {
        int yy,mm,dd;
        cout<<"请输入生日"<<endl;
        cin>>yy>>mm>>dd;
        year=yy;
        month=mm;
        day=dd;
    }
    inline void showbirthday()//生日信息的展示
    {
        cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
    }
    ~birthday(){};
    private:
    int year,month,day;
};
class People
{
public:
    void showIF();//显示员工的信息
    People(birthday BD,char num[]=" ",char idnum[]=" ",char sx[]=" ",char nm[]=" ")//初始化people
    {
        Birthday=BD;
        strcpy(name,nm);
        strcpy(id,idnum);
        strcpy(sex,sx);
        strcpy(number,num);
    }
    People() {};
     People(People&p):Birthday(p.Birthday)
     {
            strcpy(name,p.name);
            strcpy(number,p.number);
            Birthday=p.Birthday;
            strcpy(sex,p.sex);
            strcpy(id,p.id);
     }
    ~People(){};
private:
    char name[11];
    char number[7];
    char sex[3];
    char id[16];
    birthday Birthday;

};
inline void People::showIF()//展示信息,可能会多次使用设置为内联函数
{
    cout<<"该员工信息如下:"<<endl;
    cout<<"name    number    sex(m/w)    id    birthday"<<endl;
    cout<<"        "<<name<<"  "<<number<<"        "<<sex<<"       "<<id<<"  ";
    Birthday.showbirthday();
}
int main()
{
    People p5[5];
    char num1[7],id1[16],sex1[3],name1[11];
    for(int i=0;i<5;i++)
    {
        birthday b1;
        b1.setbirthday();
        cout<<"请输入员工的name:";
        cin>>name1;
        cout<<"请输入员工的number:";
        cin>>num1;
        cout<<"请输入员工的sex(w为女性,m为男性):";
        cin>>sex1;
        cout<<"请输入员工的id:";
        cin>>id1;
        People p(b1,num1,id1,sex1,name1);//对P1对象进行初始化
        p5[i] = p;
    }
    for(int i=0;i<5;i++)
    p5[i].showIF();
    return 0;
}