У меня есть класс Foo
, который выглядит следующим образом
class Foo
{
public:
void set_bar(int val)
{
_bar = val;
}
protected:
int _bar;
};
который наследуется классом Baz
, который объявлен следующим образом:
class Baz
: public Foo
{
public:
void set_baz(int val)
{
_baz = val;
}
protected:
int _baz;
};
и затем у меня есть класс Factory
, который содержит переменную-член типа Baz
.
class Factory
{
protected:
Baz _baz;
public:
const Baz& get_baz() const
{
return _baz;
}
};
Если бы я использовал Factory
вот так:
Factory f;
f.get_baz().set_bar(1);
Это бросает это error C2662: 'Foo::set_bar' : cannot convert 'this' pointer from 'const Baz' to 'Foo &'