Sobrecarga de template de função. Sobrecarregue o template de função printArray da Figura 22.1 com uma versão não template que imprima um array de strings de caracteres em um formato organizado, em colunas.

Passo 1

Vamos sobrecarregar a função template printArray(). A função de sobrecarga vai gerar uma matriz de cadeias de caracteres em um formato tabular.

Cabeçalho da função:

void printArray(char** array, int count,

int columns)

{

...

}

Passo 2

Itere pela matriz, formatando a saída com a função setw() da seguinte forma:

void printArray(char** array, int count,

int columns)

{

for (int i = 0; i count; i++)

{

for (int j = 0; j columns; j++)

cout setw(2) array[i][j];

cout endl;

}

Passo 3

Demonstração

int main()

{

const int aCount = 5;

const int bCount = 7;

const int cCount = 6;

const int dCount = 4;

const int dColumns = 4;

int a[aCount] = { 1, 2, 3, 4, 5 };

double b[bCount] = {

1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7

};

char c[cCount] = "HELLO";

char** d = new char*[dCount];

d[0] = (char*)"Army";

d[1] = (char*)"Also";

d[2] = (char*)"Area";

d[3] = (char*)"Away";

cout Array a contains:" endl;

printArray(a, aCount);

cout Array b contains:" endl;

printArray(b, bCount);

cout Array c contains:" endl;

printArray(c, cCount);

cout Array d contains:" endl;

printArray(d, dCount, dColumns);

}

Resposta

Ver o desenvolvimento.