类
设计一个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 结束程序。
输入描述:
按姓名(长度小于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-07 12:09
门头沟学院 大数据开发工程师 点赞 评论 收藏
分享