Q:

Удалить букву из строки рекурсивно

Есть программа на Паскале, удаляющая из строки букву "a". Но не до конца понимаю, из-за недостатка знания лексикона Языка c++, как то же написать на Плюсах.
function del(s:string;c:char):string;
begin
if pos(c,s)>0 then
 begin
  delete(s,pos(c,s),1);
  del:=del(s,c);
 end
else del:=s
end;
var s:string;
    c:char;
begin
writeln('Введите строку');
readln(s);
write('Символ для удаления c=');
readln(c);
write(del(s,c));
end.

A:

Реализация через класс string:
#include <string>
#include <iostream>

using namespace std;

string del(string str, char c)
{
    int f = str.find(c);
    if (f != -1)
    {
        str.erase(f, 1);
        return del(str, c);
    }
    else return str;
}

int main()
{
    string s;
    char ch;
    cout << "input string\n";
    getline(cin, s);
    cout << "\ninput char that will be deleted\n";
    cin >> ch;
    s = del(s, ch);
    cout << endl << s << endl;
    return 0;
}

