Z Javy sie dopiero przesiadłeś? :D W C++ "czasem" trzeba coś napisać samemu. Jeśli to wyrażenie jest zawsze w takiej postaci (liczba (+/-) liczba), to sprawa jest banalna. Na początek usuń sobie spacje ze stringa:
for(auto it = str.begin(); it != str.end(); ) { if(*it == ' ') str.erase(it); else it++; }
Potem znajdź pozycje znaku operatora (+/-) - możesz wykorzystać funkcje isdigit - i wydziel odpowiedni fragment stringa za pomocą metody .substr.
PS: "27 + 14" to nie równanie. Równanie, jak nazwa wskazuje, musi mieć znak równości.