Пожалуйста, запустите этот код и объясните мне, почему вывод выглядит так:
table[0]=3
table[1]=-858993567
table[2]=4
#include "stdafx.h"
struct First
{
long data;
};
struct Second : public First
{
char marker;
};
void printTable(First *table, int length)
{
for (int i=0; i < length; ++i)
{
printf("table[%d]=%ld\n", i, table[i].data);
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Second myTable[3];
myTable[0].marker='a';
myTable[1].marker='b';
myTable[2].marker='c';
myTable[0].data=3;
myTable[1].data=4;
myTable[2].data=5;
printTable(myTable, 3);
return 0;
}
Кто-нибудь может мне помочь?