Ну, видимо, я не могу. Но это моя проблема. Возможно, это проблема дизайна, и я все понял неправильно.
Я хотел бы, чтобы член класса инициализировался по-разному в каждом производном классе. Представьте, что у меня есть объект типа Device
. Этот Device
является просто интерфейсом, используемым кодом приложения, потому что фактические устройства имеют только один из двух типов, DeviceA
или DeviceB
. Есть некоторые функции, общие для всех устройств, такие как, скажем, название. Это должен быть тогда ученик, не так ли? Так что я бы получил:
class Device {
static std::string sm_name;
}
Но у каждого устройства семейства есть свое имя. Как я могу инициализировать имя другим значением для каждого производного класса? Не верен ли дизайн? Должно ли свойство name не быть членом класса?