Да, возможно определить get-функцию в базовом классе и использовать ее в классе-наследнике. Для этого необходимо использовать наследование и модификатор доступа.
Предположим, у нас есть базовый класс Base
, в котором определена get-функция getValue()
. Мы хотим использовать эту функцию в классе-наследнике Derived
.
Для того чтобы сделать функцию getValue()
доступной в классе-наследнике Derived
, необходимо сделать ее членом класса Base
с модификатором доступа protected
или public
.
Примерно так:
class Base { protected: int getValue() { return 42; } }; class Derived : public Base { public: void printValue() { int value = getValue(); cout << "Value: " << value << endl; } };
В данном примере у нас есть базовый класс Base
с protected
функцией getValue()
, которая возвращает значение 42. Затем, у нас есть класс-наследник Derived
, который наследует класс Base
с помощью модификатора доступа public
. В классе Derived
мы определили функцию printValue()
, которая вызывает функцию getValue()
из класса Base
и выводит полученное значение на экран.
Теперь, если мы создадим объект класса Derived
и вызовем функцию printValue()
, то мы получим на экране значение 42.
int main() { Derived derivedObj; derivedObj.printValue(); // Выведет "Value: 42" return 0; }
Таким образом, мы определили get-функцию в базовом классе и использовали ее в классе-наследнике. Это позволяет классу-наследнику обращаться к защищенным и публичным членам базового класса, включая функции.