função sobrecarga vs argumento padrão em c + +

Oi eu tenho uma confusão ou para dizer mais eu preciso entender alguma coisa. Eu tenho um procedimento e outro procedimento sobrecarregado do mesmo.

    string conct (string a, string b) {
      string str = conct(a, b, "string");
      return str;
    }

    string conct (string a, string b, const char* c) {
      // do the processing;
      return concatenated_string;
    }

é possível que, em vez de ter duas funções sobrecarregadas, se eu fizerc na função sobrecarregada como argumento padrão. Assim, mesmo que alguém passe apenas dois argumentos, posso ter apenas uma função para lidar com esse caso.

Mas a minha principal preocupação vem no terceiro argumento que é atualmenteconst char* c. Então, se eu fizer isso para algo comoconst char* c = "string", seria a maneira correta de lidar com o caso de remover a sobrecarga com uma função com o argumento padrão.

Eu vi o postAqui mas isso parece estar focado na compilação e não na confusão que tenho.

questionAnswers(2)

yourAnswerToTheQuestion