Я использую библиотеку, в которой определен класс RTC_DS3231: RTC_I2C.
Я определил класс RTC_M41T83: RTC_I2C с тем же API, что и RTC_DS3231.
Я бы хотел чтобы выбрать тип оборудования RTC во время выполнения
Этот код не работает, поскольку класс RTC_DS3231: RTC_I2C — это частное наследование:
RTC_I2C *rtc;
if(use_RTC_M41T83)
{
rtc = new RTC_M41T83;
}
else
{
rtc = new RTC_DS3231;
}
< /code>
Я не могу сделать класс rtc_ds3231: rtc_i2c Наследство, потому что объявление в библиотеке я не могу изменить. C ++? < /P>
Я знаю о выборе типа переменной C ++ во время выполнения
, но он не работает, потому что класс наследования RTC_DS3231: RTC_I2C - это закрытый. < /P>
Подробнее здесь: https://stackoverflow.com/questions/793 ... nheritance