In C++, the cross product is defined only for vectors, not matrices. If you have two matrices and want to multiply them, you can use the standard matrix multiplication algorithm.

Here is an example code to multiply two matrices A and B, assuming that their dimensions are compatible (i.e. the number of columns of A is equal to the number of rows of B):

```
int n = A.size();
int m = A[0].size();
int p = B[0].size();

vector<vector<int>> C(n, vector<int>(p, 0));
for (int i = 0; i < n; i++) {
    for (int j = 0; j < p; j++) {
        for (int k = 0; k < m; k++) {
            C[i][j] += A[i][k] * B[k][j];
        }
    }
}
```

This algorithm uses three nested loops to compute each element of the product matrix C. The outer loops iterate over the rows and columns of C, while the inner loop computes the dot product of the corresponding row of A and column of B. The result is stored in the corresponding element of C.
Hai due matrici. Restituisce il loro prodotto incrociato senza una libreria in C++.