C++难题~请高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:48:02
设计一个类Person,包含ID(身份证)、name(姓名)、age(年龄)、sex(性别)等数据成员(其中的字符串类型可设置为string),请用静态成员的方法使之具有计算平均年龄和男女所占百分比的功能。
本人初学静态~请用最简单的的表达谢谢~~~

#include <iostream>
#include <string>

using namespace std;

class CPerson
{
public:
CPerson(int id, string name, unsigned int age, string sex);
~CPerson();
static int average_age(){return sum_age/sum_count;}//平均年龄
//男性比例
static double male_percent(){return (double)male_count / (double)sum_count;}
//女性比例
static double female_percent(){return (double)female_count / (double)sum_count;}
protected:
static int sum_count; //总人数
static int sum_age; //年龄总和
static int male_count; //男性总人数
static int female_count; //女性总数
private:
int m_ID;
string m_name;
int m_age;
string m_sex;
};
int CPerson::sum_age = 0;
int CPerson::sum_count = 0;
int CPerson::male_count = 0;
int CPerson::female_count = 0;
//新建一个对象的时候计数器加上相应的值
CPerson::CPerson(int id, string name, unsig