设计一个People 类,该类的数据成员有姓名、年龄、身高、体重和人数,其中人数为静态数据成员,成员函数有构造函数、显示和显示人数。其中构造函数由参数姓名、年龄、身高和体重来构造对象;显示函数用于显示人的姓名、年龄、身高和体重;显示人数函数为静态成员函数,用于显示总的人数。

输入描述:
按姓名(长度小于100)、年龄、身高和体重(三个整数,范围10~1000)依次输入每个人的信息,已exit结束

输出描述:
一个整数,表示总人数。
示例1
输入
复制
zhao 18 180 70
qian 20 160 50
exit
输出
复制
2
以下是使用 C++ 实现的代码:
cpp
#include
#include
using namespace std;

class People {
private:
    string name;
    int age;
    int height;
    int weight;
    static int count;  // 静态数据成员,用于记录人数

public:
    // 构造函数
    People(string n, int a, int h, int w) : name(n), age(a), height(h), weight(w) {
        count++;
    }

    // 显示函数
    void display() {
        cout << name << " " << age << " " << height << " " << weight << endl;
    }

    // 静态成员函数,显示人数
    static void displayCount() {
        cout << count << endl;
    }
};

// 初始化静态数据成员
int People::count = 0;

int main() {
    string name;
    int age, height, weight;
    while (true) {
cin >> name;
        if (name == "exit") break;
cin >> age >> height >> weight;
        People p(name, age, height, weight);
        p.display();
    }
    People::displayCount();
    return 0;
}
代码解释
类的定义与成员变量
定义了 People 类,其中包含私有成员变量 name(姓名)、age(年龄)、height(身高)、weight(体重),以及静态私有成员变量 count(人数)。静态成员变量 count 用于统计创建的 People 类对象的数量,它在所有 People 类对象之间共享。
构造函数
People 类的构造函数 People(string n, int a, int h, int w) 接受姓名、年龄、身高和体重作为参数,在构造函数内部,通过初始化列表将参数赋值给相应的成员变量,并将静态成员变量 count 的值加 1,表示创建了一个新的 People 类对象。
显示函数 display
该函数用于输出一个人的姓名、年龄、身高和体重信息,通过 cout 按照指定格式输出成员变量的值。
静态成员函数 displayCount
这是一个静态成员函数,用于输出总的人数。由于它是静态函数,不依赖于具体的对象实例,所以可以直接通过类名 People::displayCount() 来调用,在函数内部输出静态成员变量 count 的值。
静态数据成员初始化
在类外对静态数据成员 count 进行初始化,int People::count = 0;,将其初始值设置为 0,表示初始时没有创建任何 People 类对象。
main 函数部分
在 main 函数中,通过一个无限循环 while (true) 来不断读取输入信息。首先读取姓名,如果姓名为 "exit",则跳出循环。然后读取年龄、身高和体重,并创建一个 People 类对象 p,传入读取到的信息进行初始化。接着调用 p.display() 函数输出该对象的信息。
循环结束后,调用 People::displayCount() 函数输出总的人数,最后返回 0 结束程序。
全部评论

相关推荐

2024-11-19 23:36
未填写教育信息 Java
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务