Conceito de Classe (Private Public),

Dependencies:   mbed

Committer:
Jamess
Date:
Tue Aug 04 13:26:00 2015 +0000
Revision:
0:183b60b46e25
Child:
1:371785ebad41
Exerc?cio simples de orienta??o a objetos;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jamess 0:183b60b46e25 1 #include "mbed.h"
Jamess 0:183b60b46e25 2
Jamess 0:183b60b46e25 3 DigitalOut turnRightLed(LED1);
Jamess 0:183b60b46e25 4 DigitalOut turnLeftLed(LED3);
Jamess 0:183b60b46e25 5
Jamess 0:183b60b46e25 6 class Car{
Jamess 0:183b60b46e25 7
Jamess 0:183b60b46e25 8 private:
Jamess 0:183b60b46e25 9 uint32_t speed;
Jamess 0:183b60b46e25 10
Jamess 0:183b60b46e25 11 public:
Jamess 0:183b60b46e25 12 uint32_t getSpeed(void);
Jamess 0:183b60b46e25 13 void setSpeed(uint32_t);
Jamess 0:183b60b46e25 14
Jamess 0:183b60b46e25 15 void turnRight(void);
Jamess 0:183b60b46e25 16 void turnLeft(void);
Jamess 0:183b60b46e25 17 void goStraight(void);
Jamess 0:183b60b46e25 18
Jamess 0:183b60b46e25 19 };
Jamess 0:183b60b46e25 20
Jamess 0:183b60b46e25 21 void Car::turnRight(void){
Jamess 0:183b60b46e25 22
Jamess 0:183b60b46e25 23 turnRightLed = 0;
Jamess 0:183b60b46e25 24 turnLeftLed = 1;
Jamess 0:183b60b46e25 25
Jamess 0:183b60b46e25 26 }
Jamess 0:183b60b46e25 27
Jamess 0:183b60b46e25 28 void Car::turnLeft(void){
Jamess 0:183b60b46e25 29
Jamess 0:183b60b46e25 30 turnRightLed = 1;
Jamess 0:183b60b46e25 31 turnLeftLed = 0;
Jamess 0:183b60b46e25 32
Jamess 0:183b60b46e25 33 }
Jamess 0:183b60b46e25 34
Jamess 0:183b60b46e25 35 void Car::goStraight(void){
Jamess 0:183b60b46e25 36
Jamess 0:183b60b46e25 37 turnRightLed = 1;
Jamess 0:183b60b46e25 38 turnLeftLed = 1;
Jamess 0:183b60b46e25 39
Jamess 0:183b60b46e25 40 }
Jamess 0:183b60b46e25 41
Jamess 0:183b60b46e25 42 int main() {
Jamess 0:183b60b46e25 43
Jamess 0:183b60b46e25 44 Car fusca;
Jamess 0:183b60b46e25 45
Jamess 0:183b60b46e25 46 while(1){
Jamess 0:183b60b46e25 47
Jamess 0:183b60b46e25 48 fusca.turnRight();
Jamess 0:183b60b46e25 49 wait(1);
Jamess 0:183b60b46e25 50 fusca.goStraight();
Jamess 0:183b60b46e25 51 wait(1);
Jamess 0:183b60b46e25 52 fusca.turnLeft();
Jamess 0:183b60b46e25 53 wait(1);
Jamess 0:183b60b46e25 54
Jamess 0:183b60b46e25 55 }
Jamess 0:183b60b46e25 56
Jamess 0:183b60b46e25 57 }