电梯乘客问题1.0

/*

乘坐电梯时一般有总人数和总重量限制。

编写一个程序,统计乘客进出电梯时总人数和总重量的变化情况。

假设测试期间共有3人进出电梯,其中第1人的姓名和体重为默认值,第2人和第3人的姓名和体重由键盘输入。

输入输出格式参考样例。

【输入形式】

从键盘依次输入两位乘客的姓名和体重,格式为“姓名1 体重1 姓名2 体重2”,其中姓名为字符串(长度不限),

体重为正整数(单位为公斤),相邻两个输入之间均以一个空格分隔。

【输出形式】

每当一位乘客进入电梯时,都会以“姓名 体重 come in"格式显示当前乘客的个人信息,

每当一位乘客离开电梯时,都会以“姓名 体重 go out"格式显示当前乘客的个人信息;

每当一位乘客进入或离开电梯后,都会以“Now:count=总人数,weights=总重量”格式

显示当前电梯内所有乘客的总人数和总重量信息。

*/

#include <iostream>

#include <string>

using namespace std;

 

class Passenger

{

public:

    //构造函数

    /*********************默认***************/

    Passenger()

    :Name("Unknown"),Weight(50)

    {

        cout << Name << " " << Weight << " come in" << endl;

        count++;

        weights+=Weight;

        cout << "Now: count = " << count << ", weights = " << weights << endl;

    }

    /**************************含参********************/

    Passenger(string name,int weight):Name(name),Weight(weight)

    {

        cout << Name << " " << Weight << " come in" << endl;

        count++;

        weights+=Weight;

        cout << "Now: count = " << count << ", weights = " << weights << endl;

    }

    //析构函数

    ~Passenger()

    {

        cout << Name << " " << Weight << " go out" << endl;

        count--;

        weights-=Weight;

        cout << "Now: count = " << count << ", weights = " << weights << endl;

    }

    static void showState()

    {

 

    }

private:

    static int count;

    static int weights;

    string Name;

    int Weight;

};

//初始化

int Passenger::count=0;

int Passenger::weights=0;

int main() {

    string name1, name2;

    int weight1, weight2;

    cin >> name1 >> weight1 >> name2 >> weight2;

 

    Passenger p1; // Default passenger

    Passenger::showState();

 

    Passenger *p2;

    p2 = new Passenger(name1, weight1);

    delete p2;

 

    p2 = new Passenger(name2, weight2);

    delete p2;

 

    return 0;

}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值