Impulse response $h[n]$ from input and output signal using cross correlation on Matlab
i want to know if taking the cross correlation of these signals would give me the impulse response?

No.
Let's look at it in the frequency domain. Let's call the input $x$, the output $y$ and the impulse response $h$. Uppercase letters are spectra, lower case time domain signals.
For the transfer function we simply have $Y = H\cdot X, H = Y/X$. The spectra of the autocorrelation $r_{xy} = y \star x$ is
$$R_{xy} = X' \cdot Y = X' \cdot H \cdot X = H \cdot |X|^2$$
So you will only the get transfer function if the magnitude of the spectrum of the input signal is $1$ at all frequencies.
If you do time discrete auto correlation you also have to properly manage circular versus linear auto-correlation  .

and if so, will taking the Fourier transform of that resulting signal give me the frequency response?

The transfer function is indeed the Fourier transform  of the impulse response but since the cross correlation is NOT the impulse response, you won't be getting the transfer function either.