设计一个People 类

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果输入格式:

设计一个People 类,该类的数据成员有姓名、年龄、身高、体重和人数,其中人数为静态数据成员,成员函数有构造函数、显示和显示人数。其中构造函数由参数姓名、年龄、身高和体重来构造对象;显示函数用于显示人的姓名、年龄、身高和体重;显示人数函数为静态成员函数,用于显示总的人数。
按姓名、年龄、身高和体重依次输入每个人的信息
已exit结束
zhang 18 180 70
li 20 160 50
exit

输出格式:
输出总人数,例如
2

输入样例:
在这里给出一组输入。例如:

zhang 18 180 70
li 20 160 50
exit
输出样例:
在这里给出相应的输出。例如:

2

代码如下:


#include <iostream>
#include <string>
using namespace std;

class People
{
private:
    string mName;
    int mAge;
    int mHeight;
    int mWeight;
    static int mCount;

public:
    People(string name, int age, int height, int weight) :mName(name), mAge(age), mHeight(height), mWeight(weight)
    {
        mCount++;
    }
    void show()
    {
        cout << "姓名:" << mName << ",年龄:" << mAge << ",身高:" << mHeight << ",体重:" << mWeight << endl;
    }

    static int peopleNmb()
    {
        return mCount;
    }
};


int People::mCount = 0;

int main()
{
    People* p[10];
    string name;
    int a, h, w;
    int n = 0,i = 0;
    while (1)
    {
        cin >> name;
        if (name.compare("exit") == 0)
            break;
        cin >> a >> h >> w;
        p[n] = new People(name, a, h, w);
        n++;
    }
    cout << People::peopleNmb() << endl; //输出人数
    //输出人员信息
    for (i = 0; i < n; i++)
        p[i]->show();
    return 0;
}