我可以实例化虚拟接口吗? 语法是什么? 例如 : 如果我有以下界面:
接口if( 输入in1,in2, 输出out1,out2 ); endinterface
虚拟界面,如果是vif;
我可以实例化vif吗?
答案 0 :(得分:1)
虚拟接口只能拥有,另一个虚拟接口或接口实例或分配给它的空值。
ifs m_ifs () ;
vifs = m_ifs ; // valid
vifs = vifs1 ; // valid
vifs = null ( this is the default value if unassigned)
If you mean
vifs = new () or new (if ) ;
不允许使用上述声明。
你可以改为
Class interface_container {
virtual interface ifs vifs ;
} ;
interface_container m_interface_container[2] ;
m_interface_container[0] = new () ;
m_interface_container[1] = new () ;
所以现在你在两个类BUT
的实例中有2个vif实例您仍然需要为它们分配接口实例。 接口实例本身不能是动态的,因为它们代表物理连接。
m_interface_container[0].vifs = m_ifs ;
m_interface_container[1].vifs = m_ifs ;
因此可以有许多虚拟接口,但所有虚拟接口(如果不为null)最终将指向一组固定的接口实例。