История изменений
Исправление jeuta, (текущая версия) :
минусы: производительность, по крайней мере debug-сборок, усложнённость клиентского кода (того, что у тебя в main)
сравни с:
#include <iostream>
using namespace std;
class A
{
public:
virtual int getType () { return 1; }
};
class B : public A
{
int getType () { return 2; }
};
int main()
{
A a;
B b;
A* arr[2] = {&a, &b};
for(int i = 0; i < 2; ++i)
{
cout << arr[i]->getType() << endl;
}
}
Исходная версия jeuta, :
минусы: производительность, по крайней мере debug-сборок, усложнённость клиентского кода (того, что у тебя в main)
сравни с:
#include <iostream>
using namespace std;
class A
{
public:
virtual int getType () { return 1; }
};
class B : public A
{
int getType () { return 2; }
};
int main()
{
A a;
B b;
A* arr[2] = {&a, &b};
for(int i = 0; i < 2; ++i)
{
cout << arr[i]->getType() << endl;
}
}