是的。java 也有这样的修饰器。最早用这一招的语言是什么。
不过虚函数还是缺少一个修饰符,用于告诉继承者,是否需要调用父类的虚函数。
struct Base {
virtual void doIt() callme { qDebug() << "hello"; }
};
struct Derived {
virtual void doIt() override { Base::doIt(); qDebug() << "world"; } //good
virtual void doIt() override { qDebug() << "world"; } // wrong
};
android java 里面有类似的语义,IDE 可以探测出来。pure java 没有,c++, python 也没有。
【 在 allegro (静水流深) 的大作中提到: 】
: 用这个修饰,之后如果base type里面修改了接口,或者取消了virtual限定。derived type编译不会过。
: 而不是认为derived type新添加了member function。
--
FROM 117.24.206.*