|
发表于 2011-10-12 13:46:17
|
显示全部楼层
说明:
1、virtual interface:定义一个interface,且实例化多个后,如果没有定义virtual,则在任何一个实 ...
TommyGG 发表于 2011-9-28 09:20
1、virtual interface:
interface 和 module是一样的, 都是静态的变量, 也就是在程序开始时, 内存中就有了其实例. 但virtual interface只是申明一个handle, 就好像一个指针一样, 可以再程序进行中进行construct, 所以class里必须是virtual interface.
2、virtual function/task:
你的意思是不是用classname::taskname()调用时, 有virtual, 但是子类中没重载的话, 不会报错?
一般申明了virtual, 就可以重载, 这也是new为什么不能virtual的原因, 否则被子类重载了, 那用父类的handle new的时候, new出来是啥啊???
3、virtual class:
虚类只用来定义类的格式, 和成员的名字, 参数, 不能被实例话, 只能被重载, 用于在项目中定义一些标准的类, 例如driver类, 这样大家extend出来的driver的基本的格式都是一样的, 易读易理解. 在virtual class里的方法最好使用 pure virtual 修饰, 叫做纯虚方法, 也是用来定义方法的名字和参数列表的, 方便大家统一名字. |
|