Привет!
Прошу не пинать ногами - только начал изучать
есть два класса базовый и наследник
class ClB
{
protected:
string str1;
public:
const string& getStr1() const { return str1; };
void setStr1(const string& str1)
{
this->str1 = str1;
};
};
class ClB1 : public ClB
{
private:
string clb1Str1;
public:
const string& getClb1Str1() const { return clb1Str1; };
void setClb1Str1(const string& clb1Str1)
{
this->clb1Str1 = clb1Str1;
};
};
вопрос почему это работает
ClB* c = new ClB1();
((ClB1*)c)->setClb1Str1("Test");
, а это выдает ошибку
ClB c = ClB1();
((ClB1)c).setClb1Str1("Test");