Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <typeinfo>
  3.  
  4. using namespace std;
  5.  
  6. class BoolExpr {
  7. public:
  8.     bool value;
  9.     virtual void print() = 0;
  10.     virtual void simplification() = 0;
  11. private:
  12.  
  13. };
  14.  
  15. class Const : public BoolExpr {
  16. public:
  17.     Const(bool val) {
  18.         value = val;
  19.     }
  20.     virtual void print() {
  21.         cout << value;
  22.     }
  23.     virtual void simplification() {
  24.         return;
  25.     }
  26. };
  27.  
  28. class Var : public BoolExpr {
  29. public:
  30.     virtual void print() {
  31.         cout << "x";
  32.     }
  33.     virtual void simplification() {
  34.         return;
  35.     }
  36. private:
  37. };
  38.  
  39. class Not : public BoolExpr {
  40. public:
  41.     BoolExpr* expr;
  42.     Not(BoolExpr* arg) {
  43.         expr = arg;
  44.     }
  45.     virtual void print() {
  46.         cout << "NOT(";
  47.         expr->print();
  48.         cout << ")";
  49.     }
  50.     virtual void simplification() {
  51.         expr->simplification;
  52.         if ()
  53.     }
  54. };
  55.  
  56. class And : public BoolExpr {
  57. public:
  58.     BoolExpr* l;
  59.     BoolExpr* r;
  60.     And(BoolExpr* ll, BoolExpr* rr) {
  61.         l = ll;
  62.         r = rr;
  63.     }
  64.     virtual void print() {
  65.         l->print();
  66.         cout << " AND ";
  67.         r->print();
  68.     }
  69. };
  70.  
  71. class Or : public BoolExpr {
  72. public:
  73.     BoolExpr* l;
  74.     BoolExpr* r;
  75.     Or(BoolExpr* ll, BoolExpr* rr) {
  76.         l = ll;
  77.         r = rr;
  78.     }
  79.     virtual void print() {
  80.         l->print();
  81.         cout << " OR ";
  82.         r->print();
  83.     }
  84. };
  85.  
  86.  
  87. int main() {
  88.     setlocale(LC_ALL, "russian");
  89.  
  90.     system("pause");
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement