1.系统最简单的类Lamp
灯类Lamp是交通系统中最简单的类,可以说它没有和其他类进行交互,即信号传递处理等,就是一个普通的C++类,没有基类。
1.1.属性
(1)位置,x,y
位置由两个整型变量x,y表示,即int x,y;
主要在绘制灯的时候用到。
(2)状态,status
bool型变量,用于判断该灯的颜色
(3)大小,width,height
整型静态变量,因为每个灯的大小都是一样的,宽度和高度都是25。
1.2 .操作
(1)Lamp();
给变量赋初值,避免出错。
(2)Lamp(int _x,int _y,int _status);
给变量赋对应的值。
(3)void setInfo(int _x,int _y,int _status);
如果想改变位置或者状态的话可以通过这个函数实现。
(4)void setX(int _x);
设置横坐标。
(5)void setY(int _y);
设置纵坐标。
(6)void setStatus(bool _status);
设置状态,即状态转换时,通过这个函数实现。
(7)int getX();
获取横坐标。
(8)int getY();
获取纵坐标。
(9)bool getStatus();
获取灯的状态。
(10)static int getWidth();
获取灯的宽度。
(11)static int getHeight();
获取灯的高度。
1.3.头文件
#ifndef LAMP_H
#define LAMP_H
class Lamp
{
public:
Lamp();
Lamp(int _x,int _y,int _status);
void setInfo(int _x,int _y,int _status);
void setX(int _x);
void setY(int _y);
void setStatus(bool _status);
int getX();
int getY();
bool getStatus();
static int getWidth();
static int getHeight();
private:
int x,y;//灯的位置
bool status;//灯的状态
static int width;//灯的宽度
static int height;//灯的高度
};
#endif // LAMP_H
1.4.源文件
#include "lamp.h"
int Lamp::width = 25;
int Lamp::height = 25;
Lamp::Lamp()
{
this->x = 0;
this->y = 0;
this->status = false;
}
Lamp::Lamp(int _x,int _y,int _status)
{
this->x = _x;
this->y = _y;
this->status = _status;
}
void Lamp::setInfo(int _x,int _y,int _status){
this->x = _x;
this->y = _y;
this->status = _status;
}
void Lamp::setX(int _x){
this->x = _x;
}
void Lamp::setY(int _y){
this->y = _y;
}
void Lamp::setStatus(bool _status){
this->status = _status;
}
int Lamp::getX(){
return this->x;
}
int Lamp::getY(){
return this->y;
}
bool Lamp::getStatus(){
return this->status;
}
int Lamp::getWidth(){
return Lamp::width;
}
int Lamp::getHeight(){
return Lamp::height;
}
2.结语
在头文件声明的静态变量要在源文件中重新定义一次,不用再加上static,静态函数也是一样。不然会报错。