En teoría debería de funcionarte, si pones tu código completo quizás podemos decirte en qué has fallado. Te pongo un ejemplo muy trivial en el que hago lo que tu estás haciendo y la salida por pantalla.
Código C++:
Ver original#include<cstring>
#include<string>
#include<iostream>
using namespace std;
int main(){
string array1[1]={"Juan"};
string array2[1]={"074"};
// Con append
string str; // No hace falta poner = "", el constructor crea un string vacio
str.append(array1[0]);
str.append("-");
str.append(array2[0]);
cout << str << endl;
}