From c2dfe254e3a3e2454e543de1d75db386337d93a2 Mon Sep 17 00:00:00 2001 From: Gagan Awhad Date: Tue, 28 Sep 2010 14:29:27 -0500 Subject: [PATCH] Having constructors in parent classes was not working. The right constructor was not being called --- regex.cpp | 32 +++++++++++--------------------- regex.h | 4 ---- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/regex.cpp b/regex.cpp index f95b118..dafc8d8 100644 --- a/regex.cpp +++ b/regex.cpp @@ -129,14 +129,6 @@ regexNode::~regexNode(){ /*********************** Unary Regex-Node **************************/ -unaryRegexNode::unaryRegexNode(){ - this->leftChild = new leafNode(NULLSET); -} - -unaryRegexNode::unaryRegexNode(regexNode *newleftChild){ - this->leftChild = newleftChild; -} - bool unaryRegexNode::setLeftChild(regexNode* newLeftChild){ delete leftChild; leftChild = newLeftChild; @@ -173,17 +165,6 @@ unaryRegexNode::~unaryRegexNode(){ /*********************** Binary Regex-Node **************************/ -binaryRegexNode::binaryRegexNode(){ - //cout<<"I am in binaryRegexNode constructor"<leftChild = new leafNode(NULLSET); - this->rightChild = new leafNode(NULLSET); -} - -binaryRegexNode::binaryRegexNode( regexNode * leftChild, regexNode * rightChild){ - cout<<"I am in binaryRegexNode constructor"<leftChild = leftChild; - this->rightChild = rightChild; -} bool binaryRegexNode::setRightChild(regexNode* newRightChild){ delete rightChild; @@ -284,6 +265,7 @@ regexNode* leafNode::simplify(){ //leaf nodes cannot be simplified more. /*********************** Star Node **************************/ starNode::starNode(){ + this->leftChild = new leafNode(NULLSET); } starNode::starNode(regexNode *newleftChild){ @@ -325,11 +307,15 @@ regexNode* starNode::simplify(){ /*********************** Union Node **************************/ unionNode::unionNode(){ - // cout<<"I am in unionRegexNode constructor"<leftChild = new leafNode(NULLSET); + this->rightChild = new leafNode(NULLSET); } unionNode::unionNode( regexNode * leftChild, regexNode * rightChild){ - //cout<<"I am in unionRegexNode constructor"<leftChild = leftChild; + this->rightChild = rightChild; } bool unionNode::isUnion(){ @@ -396,9 +382,13 @@ regexNode* unionNode::simplify(){ /*********************** Concatination Node **************************/ concatNode::concatNode(){ + this->leftChild = new leafNode(NULLSET); + this->rightChild = new leafNode(NULLSET); } concatNode::concatNode(regexNode * leftChild, regexNode * rightChild){ + this->leftChild = leftChild; + this->rightChild = rightChild; } bool concatNode::isConcat(){ diff --git a/regex.h b/regex.h index 0d96be8..a025e2a 100644 --- a/regex.h +++ b/regex.h @@ -61,8 +61,6 @@ class unaryRegexNode: public regexNode{ regexNode* leftChild; public: - unaryRegexNode(); - unaryRegexNode(regexNode *); bool setLeftChild(regexNode *); regexNode * getLeftChild(); @@ -83,8 +81,6 @@ class binaryRegexNode: public unaryRegexNode{ regexNode* rightChild; public: - binaryRegexNode(); - binaryRegexNode( regexNode *, regexNode * ); bool setRightChild(regexNode *) ; regexNode * getRightChild(); bool setChildren(regexNode* , regexNode* );