Я работаю над проектом, чтобы узнать об объектно-ориентированном программировании.Из того, что я понимаю, когда класс является производным от базового класса, он может получить доступ ко всем открытым функциям-членам базового класса.В C ++ публичное наследование означает, что частные члены не могут быть доступны.Так что же происходит, когда закрытая функция-член изменяется в базовом классе?
Я пытался создать несколько тестовых программ, чтобы увидеть, что происходит, но я все еще в замешательстве.Я также попытался посмотреть онлайн, чтобы увидеть, смогу ли я найти какие-либо ответы, но я действительно не нашел ни одного.
class Base
{
private:
int length;
public
void increaseLengthByOne();
};
void Base::increaseLengthByOne()
{
this->length++;
}
class Derived : public Base
{
private:
int dLength;
public:
void newFunction();
};
void Derived::newFunction()
{
printf("New function working");
increaseLengthByOne();
}
Насколько я понимаю, длина не будет изменена, а длина не может быть изменена.Что же тогда делает функция incrementLengthByOne?И как бы я сделать так, чтобы функция увеличения длины могла увеличить длину?