Advertisement
saa10245

Spectrasonics Omnisphere v1.5.6d VSTi RTAS Win/Mac OSX

Jul 23rd, 2014
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.03 KB | None | 0 0
  1. #ifndef ESTADO_H
  2. #define ESTADO_H
  3.  
  4. #include <iostream>
  5. #include <sstream>
  6. #include <stdlib.h>
  7. #include <memory>
  8. using namespace std;
  9.  
  10. class Estado {
  11.  
  12. public:
  13.  
  14. int x,y;
  15. char oper;
  16. Estado *predecesor;//ptr al predecesor
  17.  
  18. public:
  19. Estado(int i,int j,char o,Estado *p) {
  20. x=i;
  21. y=j;
  22. oper=o;
  23. predecesor=p;
  24. }
  25.  
  26. //Constructor de copia
  27. Estado(const Estado &e) {
  28. x=e.x;
  29. y=e.y;
  30. oper=e.oper;
  31. predecesor=e.predecesor;
  32. }
  33.  
  34. ~Estado() {
  35.  
  36.  
  37. }
  38.  
  39. string toString () const{
  40. stringstream out;
  41. if ( predecesor!=NULL)
  42. out << "Info: " << x << "," << y << ", Oper: " << oper << ", Pred: " << predecesor->x << "," << predecesor->y << endl;
  43. else
  44. out << "Info: " << x << "," << y << ", Oper: " << oper;
  45.  
  46. return out.str();
  47. }
  48.  
  49. Estado operator= (const Estado &e) {
  50.  
  51. x=e.x;
  52. y=e.y;
  53. oper=e.oper;
  54. predecesor=e.predecesor;
  55.  
  56. }
  57.  
  58. bool operator== (const Estado &e) {
  59. return x==e.x && y==e.y;
  60.  
  61. }
  62.  
  63. friend ostream &operator<<(ostream &os, const Estado &e) {
  64. if ( e.predecesor!=NULL)
  65. os << "Info: " << e.x << "," << e.y << ", Oper: " << e.oper << ", Pred: " << e.predecesor->x << "," << e.predecesor->y;
  66. else
  67. os << "Info: " << e.x << "," << e.y << ", Oper: " << e.oper;
  68.  
  69. return os;
  70. }
  71.  
  72.  
  73. };
  74.  
  75.  
  76. #endif /* ESTADO_H */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement