第二次面向对象程序设计作业

c语言和c++实现的大致思路

C语言
首先,在读取请求都可以用floor[]数组来实现对请求的存放,然后模拟电梯的运行,在运行中要时时判断是否有没符合条件的请求,如果有就处理请求。同时也要判断是否有乘客进出电梯,如果有电梯就要停靠,电梯停靠,时间就发生改变,就要再次判断是否有新的请求需处理,每当有新的请求或电梯内人员更新,就要重新判断要去往的楼层。
C++
因为是c++嘛,所以肯定要建个电梯类,因为成员函数的存在所以可以将在c过程中的几个判断的代码整合成几个成员函数。其实在c的实现中这些也可以用函数来实现,但c++的优势也许就在于可以不用那么多参数,也可以对多个变量进行更改。在主函数中处理请求,调用stop函数,判断是否停靠,再调用goingfloor判断要去的楼层,最后执行going函数实现电梯的运行。

总的来说,二者还是有很大区别的,但在思路上我用的依旧是c的思路,从面向过程和面向对象名称看来,面向过程解决的是在一个过程中有多个对象参与其中的问题,而面向对象中对象可以同时参与多个过程。嗯,在慕课中有提到许多c++的特性,但这些并不是思想出发点的不同,以上也只是我个人的猜想,对c和c++的不同依旧存在许多疑问。

电梯类

#include<iostream>
using namespace std;
class Elevatorscheduling
{
    public:
        
        int currentfloor; //当前位置
        int indicator; //运行方向
        int people;//电梯内人数 
        int t;//时间 
        int nextfloor;
        Elevatorscheduling();//初始化 
        ~Elevatorscheduling();
        void destinationfloor(int gotofloor);
        void showfloor();
};
Elevatorscheduling::Elevatorscheduling()
{
    currentfloor=0;
    indicator=0;
    people=0;
    t=0;
}
Elevatorscheduling::~Elevatorscheduling()
{
    
}
void Elevatorscheduling::destinationfloor(int gotofloor)
{
    nextfloor=gotofloor;
    if(nextfloor>currentfloor)
    {
        indicator=1;
    }
    else if(nextfloor<currentfloor)
    {
        indicator=-1;
    }
}
void Elevatorscheduling::showfloor()
{
    cout<<currentfloor<<endl;
}

猜你喜欢

转载自www.cnblogs.com/wzxzx/p/8995991.html
今日推荐