Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <typeinfo>
- using namespace std;
- class BoolExpr {
- public:
- bool value;
- virtual void print() = 0;
- virtual void simplification() = 0;
- private:
- };
- class Const : public BoolExpr {
- public:
- Const(bool val) {
- value = val;
- }
- virtual void print() {
- cout << value;
- }
- virtual void simplification() {
- return;
- }
- };
- class Var : public BoolExpr {
- public:
- virtual void print() {
- cout << "x";
- }
- virtual void simplification() {
- return;
- }
- private:
- };
- class Not : public BoolExpr {
- public:
- BoolExpr* expr;
- Not(BoolExpr* arg) {
- expr = arg;
- }
- virtual void print() {
- cout << "NOT(";
- expr->print();
- cout << ")";
- }
- virtual void simplification() {
- expr->simplification;
- if ()
- }
- };
- class And : public BoolExpr {
- public:
- BoolExpr* l;
- BoolExpr* r;
- And(BoolExpr* ll, BoolExpr* rr) {
- l = ll;
- r = rr;
- }
- virtual void print() {
- l->print();
- cout << " AND ";
- r->print();
- }
- };
- class Or : public BoolExpr {
- public:
- BoolExpr* l;
- BoolExpr* r;
- Or(BoolExpr* ll, BoolExpr* rr) {
- l = ll;
- r = rr;
- }
- virtual void print() {
- l->print();
- cout << " OR ";
- r->print();
- }
- };
- int main() {
- setlocale(LC_ALL, "russian");
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement