2 / 2 / 0
Регистрация: 26.04.2019
Сообщений: 33
1

Переменные родительского класса

10.08.2019, 13:36. Показов 221. Ответов 1
Метки нет (Все метки)

Всем привет!
Такая проблема

Класс родитель

C++
1
2
3
4
5
6
7
8
class Layer
{
public:
    Layer();
    ~Layer();
    int size;
    virtual void FeedForward();
};
Два класса наследника:

C++
1
2
3
4
5
6
7
class ConvLayer : public Layer
{
public:
    ConvLayer(int inp_size);
    ~ConvLayer();
    void FeedForward();
};
C++
1
2
3
4
5
6
7
class SoftMaxLayer : public Layer
{
public:
    SoftMaxLayer(vector<Neuron*> inp_vec,int class_count);
    ~SoftMaxLayer();
    void FeedForward();
};
Я могу обращаться к переменной родительского класса(size) из метода первого класса(ConvLayer), но из метода второго класса(SoftMaxLayer ) могу к ней обращаться только так -
C++
1
this->size
.

Классы одинаковые, но один имеет доступ к переменной родительского класса напрямую, а другой только через указатель this.

Выдаётся ошибка "expression must be a modifiable lvalue";

В чём может заключаться проблема?

Спасибо за внимание.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2019, 13:36
Ответы с готовыми решениями:

Почему внук родительского класса не может работать с полями дедовского класса?
Не всё так просто на самом деле. Непонятно, какую роль во всём этом играют шаблоны. Но к делу. Вот...

Может ли метод родительского класса обратиться к полю дочернего класса
Может ли метод родительского класса обратиться к полю дочернего класса?

Как вызвать виртуальную функцию из дочернего класса, если она определена и вызывается в конструкторе РОДИТЕЛЬСКОГО класса?
Ну то есть так: есть родительский и дочерний класс, в родительском определен виртуальная функция и...

Доступ к переменной родительского класса
Добрый день, уважаемые форумчане, изучаю классы в с++, есть вопрос: можно ли вызвать public функцию...

1
зомбяк
1533 / 1178 / 332
Регистрация: 14.05.2017
Сообщений: 3,824
10.08.2019, 14:58 2
Возможно что во втором объявлена функция size() или что-то в этом роде. Кроме того, обратиться к этому size ещё можно как
C++
1
Layer::size
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2019, 14:58

Вызов метода родительского класса
Всем доброго вечера! Читаю Р. Лафоре. Он пишет: Т.е. исходя из этого, можно предположить,...

Вызов конструктора родительского класса
Здравствуйте, столкнулся с такой проблемой: при вызове конструктора класса потомка (Derv1) через...

Вызов конструктора из родительского класса
Как вызвать конструктор для производного класса из родительского?

Приведение родительского класса к дочернему
Здравствуйте, Является ли хорошим тоном приведение родительского класса к дочернему, влияет ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.