Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
наследование и статические переменные
|
|||
|---|---|---|---|
|
#18+
есть базовый класс и два наследника от него. как объявить переменную, которая хранила бы свое значение для каждого класса и была общей для их экземпляров другими словами как бы в базовом классе объявить "статическую" переменную и заставить переопределить ее в каждом из наследников. то, что статические члены классов нельзя определять как virtual, abstract знаю, поэтому и переопределить ее не удасться, возможно только объявить в наследниках переменную с таким же именем, используя слова new/hide, но вот как это гарантировать, может быть есть какие-нибудь аттрибуты или еще что, а может быть есть вообще другой вариант решения этой проблемы. ниже приведу пример того, что хотелось бы чтобы было class Base { virtual protected static string name = "Base"; virtual public static string Name { get { return name; } } } class Derived1: Base { override protected static string name = "Derived1" override public static string Name { get { return name != null ? name : base.name; } } } class Derived2: Base { override protected static string name = null; override public static string Name { get { return name != null ? name : base.name; } } } Base.Name; // вернет "Base" Derived1.Name; // вернет "Derived1" Derived2.Name; // вернет "Base" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 12:50 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=34034359&tid=1388894]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 383ms |

| 0 / 0 |
