封装-定义人类

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

输入描述:

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

输出描述:

一个整数,表示总人数。

#include<iostream>
using namespace std;
class People
{
	protected:
		string name;
		int age,height,weight;
	public:
		static int num;
		People(string n,int a,int h,int w){name=n,age=a,height=h,weight=w;}
		void show(){cout<<name<<" "<<age<<" "<<height<<" "<<weight<<endl;}
		void shownum(){cout<<num<<endl;}
};
int People::num;
int main()
{
	string n;
	int a,h,w;
	cin>>n;
	while(1)
	{
		cin>>a>>h>>w;
		People p(n,a,
		p.num++;
		cin>>n;
		if(n=="exit") 
        {
            p.shownum();
            break;
        }
	}
	return 0;
}

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人类属性可以包括性别、年龄、身高、体重、职业等等,封装可以使用面向对象的方式来实现。 1. 定义一个人类属性的类,如下所示: ```python class Person: def __init__(self, gender, age, height, weight, occupation): self.gender = gender self.age = age self.height = height self.weight = weight self.occupation = occupation ``` 2. 对于每个属性,可以定义相应的getter和setter方法,以便外部程序可以访问和修改这些属性: ```python class Person: def __init__(self, gender, age, height, weight, occupation): self._gender = gender self._age = age self._height = height self._weight = weight self._occupation = occupation def get_gender(self): return self._gender def set_gender(self, gender): self._gender = gender def get_age(self): return self._age def set_age(self, age): self._age = age def get_height(self): return self._height def set_height(self, height): self._height = height def get_weight(self): return self._weight def set_weight(self, weight): self._weight = weight def get_occupation(self): return self._occupation def set_occupation(self, occupation): self._occupation = occupation ``` 3. 为了方便使用,可以定义一些常用的方法,如获取BMI值等: ```python class Person: def __init__(self, gender, age, height, weight, occupation): self._gender = gender self._age = age self._height = height self._weight = weight self._occupation = occupation def get_gender(self): return self._gender def set_gender(self, gender): self._gender = gender def get_age(self): return self._age def set_age(self, age): self._age = age def get_height(self): return self._height def set_height(self, height): self._height = height def get_weight(self): return self._weight def set_weight(self, weight): self._weight = weight def get_occupation(self): return self._occupation def set_occupation(self, occupation): self._occupation = occupation def get_bmi(self): return round(self._weight / (self._height ** 2), 2) def is_obese(self): bmi = self.get_bmi() if self._gender == 'male': return bmi >= 30 else: return bmi >= 28 ``` 这样,我们就可以创建一个Person对象,设置和获取各种属性,以及调用常用的方法了: ```python person = Person('male', 30, 1.8, 80, 'engineer') person.set_age(35) print(person.get_age()) # 输出35 print(person.get_bmi()) # 输出24.69 print(person.is_obese()) # 输出False ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值