void NobracketString::substract(string Anumb,string Atype, string Bnumb, string Btype){				//does not need to handle differen type here only handel same type or (fraction and integer)

	isReturnOneNumb = false;
		if(Atype==Btype){						//if they are the same type;
			if(Atype == "frac")
			{
				Fraction* fra = new Fraction(Anumb);
				Fraction* frb = new Fraction(Bnumb);
				//fra->Subtraction(*frb);
				opAnswer = fra->getAnswer();
				isReturnOneNumb = true;				// here may need to delete the object.
			}
			else if(Atype == "int")
			{
				Integers* intnumbA = new Integers(Anumb);
				Integers* intnumbB = new Integers(Bnumb);
				intnumbA->Subtract(*intnumbB);

				opAnswer = intnumbA->getAnswer();

									////							//delete[] intnumb;
				isReturnOneNumb = true;
			}
			else if(Atype=="log")
			{
				Logs* lgA = new Logs(Anumb);
				Logs* lgB = new Logs(Bnumb);
				lgA->substract(*lgB);
				opAnswer = lgA->getAnswer();
											//delete[] lg;
				if(opAnswer.find("-")<100)
				{								//if the opanswer string contains "+", means it return a complex expression
					isReturnOneNumb = false;
				}
				else
					isReturnOneNumb = true;
			}
			else if(Atype=="root")
			{
				nthRoot* nthNumb = new nthRoot(Anumb);
				nthRoot* B = new nthRoot(Bnumb);
				nthNumb->subtract(*B);
				opAnswer = nthNumb->getAns();
				if(opAnswer.find("-")<100)			//if the opanswer string contains "+", means it return a complex expression
					isReturnOneNumb = false;
				else
					isReturnOneNumb = true;
			}//it is handled in the calculating()
			else if(Atype=="pi"){
//				Pi* p = new Pi(Anumb);
//				p->Subtract(*p);
//				opAnswer = p->getAnswer();
				isReturnOneNumb = true;
			}
			else if(Atype=="e"){
				Exponential* p = new Exponential(Anumb);
				Exponential* b = new Exponential(Bnumb);
				//p->Subtract(*b);
				opAnswer = p->getAnswer();
				isReturnOneNumb = true;
			}
			else if(Atype=="exp"){
				Exponent* power = new Exponent(Anumb);
				Exponent* b = new Exponent(Bnumb);
				power->subtract(*b);
				opAnswer = power->getAnswer();
				if(opAnswer.find("-")<100)			//if the opanswer string contains "+", means it return a complex expression
					isReturnOneNumb = false;
				else
					isReturnOneNumb = true;
			}
		}else{	//if not the same type

		}
}