У меня есть функция-член в классе с package
атрибутом защиты, и я хочу переопределить его в подкласс, в том же пакете, другой модуль. Компилятор dmd кричит, что я не могу переопределить не виртуальную функцию. Если я сделаю функцию public
, она действительно заработает.
Почему функция пакета не является виртуальной?
Пример кода:
module test.A;
class A {
package void doSomething() {}
}
module test.B;
import test.A;
class B : A {
package override void doSomething() {} // ERROR! overriding a non-virtual function
}
protected
работает, но мне нужно, чтобы это былоpackage
, хе-хе. - person Santiago V.   schedule 01.03.2012