Проблема с использованием объектов в подклассе C++

Рейтинг: 0Ответов: 1Опубликовано: 28.01.2023
class Object
{
public:
    short type;
    Object(short t)
    {
        type = t;
    }
};

class Cube: public Object
{
public:
    type = 1; //Ошибка
};

int main()
{
    return 0;
}

Здравствуйте. В коде выше я создаю подкласс Cube , где главный класс - Object. В нём я объявляю объект short type. В подклассе Cube я пытаюсь инициализировать его (задать значение), что я собственно не могу.

Не бейте, я только учусь, а по этой теме не могу найти ничего.

Ответы

▲ 1Принят

Инициализировать надо в конструкторе...

class Cube: public Object
{
public:
    Cube():Object(1){};
};

Т.е. при создании объекта типа Cube вызовется конструктор Object с переданным ему аргументом 1, который и инициализирует type.

Только я бы еще и конструктор Obect писал так:

Object(short t):type(t){}