I need help
Язык с++
Имеется класс: человек
У него три подкласса: учёный, охранник, пекарь.
Также имеется класс: строение
И три подкласса : лаборатория,КПП, кухня
Насколько мне известно, можно написать
Person* men;
men = new (и имя любого подкласса);
Тем самым можно создать массив объектов человек, а управлять объектами классов охранник, учёный, пекарь.
Задача.
class building
{
public:
int number_of_person;
person ** workers;
}
class kpp: public building
{
public:
person** workers= new person*[4];
kpp()
{
this.number_of_person=4;
for (int I=0;I<this.number_of_person;I++)
{
switch( rand()%3)
{
case 0:
worker[I]=new baker(0);
break;
И далее с остальными
} //Конец switch
}//Конец for
}//Конец класса
Я хочу перегрузить в классе строение оператор[] чтобы сразу получать доступ к объекту
Т.е чтобы не писать
a.worker[0].locale
,Где а- объект класса крр, а писать
a[0].locale
Именно эта функция выкидывает ошибку при обращении к объекту.