• 面向对象程序设计2


    从C语言看电梯

    在使用C语言编写电梯作业时,大致的结构是先建立一个结构体,用来储存所有的请求,内部含有请求层数,请求时间,目的层数,当前层数等变量,然后在main函数中进行一些预处理,再构建上行下行等一些外部函数,并在函数中进行一系列请求的处理。


    从C++类看电梯

    在面向对象程序设计的第一次作业中,初次接触类的概念,有种迷迷糊糊把作业写完的感觉,但是在写完之后的调试中,随着自己修改的错误的增多,对于类的使用也有了一些概念。代码整体包含了一个电梯类以及一个main函数,电梯类中包含了请求时间,请求层数等一系列请求,同时C语言中的外部函数同样放到了电梯的类中,在main函数中进行一些简单的处理。


    对比

    相对于C++来说,C语言整体结构较为臃肿,一旦出现错误的话,检查错误比较繁琐,而C++的类则结构比较简单明了,将整个代码模块化,结构清晰。

    虽然已经使用C++的类写过一次电梯,但其实对于面向对象和面向过程的概念还不是特别清楚,也无法明显区分,希望接下来的作业中可以逐渐明晰。


    下面是C++中的电梯类的代码

    class Elevator
    {
    public:
    	int time;//总时间
    	int requesttime;//请求时间
    	int waitfloor;//请求层数
    	int requestfloor;//目的层数
    	int currentfloor;//当前层数
    	Elevator();
    	~Elevator();
    
    
    	int gotofloor(int requesttime,int requestfloor,int time,int waitfloor,int currentfloor);//前往目的层数
    	int stop(int time,int currentfloor);//停止
    	
    };
    
    #include "stdafx.h"
    #include "Elevator.h"
    #include<iostream>
    #include<stdio.h>
    using namespace std;
    Elevator::Elevator()
    {
    }
    
    
    Elevator::~Elevator()
    {
    }
    
    
    int Elevator::gotofloor(int requesttime,int requestfloor,int time,int waitfloor,int currentfloor)
    {
    	int g, h;
    	if (time < requesttime)time = requesttime;
    	g = waitfloor - currentfloor;
    	if (g < 0)g = -g;
    	h = waitfloor - requestfloor;
    	if (h < 0)h = -h;
    	time = time + g + h;
    	return time;
    }//电梯送乘客前往目的地
    
    int Elevator::stop(int time,int currentfloor)
    {
    	time++;
    	return time;
    }//电梯停靠
    
  • 相关阅读:
    【BZOJ4915】简单的数字题(数学)
    【BZOJ2140】稳定婚姻(匈牙利算法板子题)
    【BZOJ2739】最远点(决策单调性)
    【AT3526】[ARC082C] ConvexScore(贡献转化+容斥)
    【CF1264D2】Beautiful Bracket Sequence(组合数学)
    【洛谷2561】[AHOI2002] 黑白瓷砖(Polya定理)
    【洛谷3511】[POI2010] MOS-Bridges(混合图欧拉回路)
    【洛谷4226】避难所(构造)
    【洛谷7453】[THUSCH2017] 大魔法师(线段树+矩乘)
    【洛谷3207】[HNOI2010] 物品调度(置换问题)
  • 原文地址:https://www.cnblogs.com/Destr/p/8999025.html
Copyright © 2020-2023  润新知