面向对象的定义,该如何解决
面向对象的定义
<A> 的定义 <A> + <B> 或 <B>
<B> 的定义 <B> * <C> 或 <C>
<C> 的定义 <A> 或 <char [16]> 或 <int>
以上定义方式是前面的定义优先匹配 ,比如<A> <B>的定义就是贪心的
现在要定义ABC类,然后从文件中扫描,得到一个<A>的实例
一开始我用链表实现<A> <B> ,用enum和3种指针的union定义<C> ,然后发现一个难题
按<C> <A> <B>的顺序定义类,是可以的,不过C要怎么初始化?
C中有<A>的指针,初始化这个指针需要A的定义,但此时A还没有定义!
------解决思路----------------------
指针可以不必看到类型定义,就定义该类型的指针(引用也类似),
因为所有指针长度相同(早期 near,far 指针,所有 near 相同,所有 far 相同)
<A> 的定义 <A> + <B> 或 <B>
<B> 的定义 <B> * <C> 或 <C>
<C> 的定义 <A> 或 <char [16]> 或 <int>
以上定义方式是前面的定义优先匹配 ,比如<A> <B>的定义就是贪心的
现在要定义ABC类,然后从文件中扫描,得到一个<A>的实例
一开始我用链表实现<A> <B> ,用enum和3种指针的union定义<C> ,然后发现一个难题
按<C> <A> <B>的顺序定义类,是可以的,不过C要怎么初始化?
C中有<A>的指针,初始化这个指针需要A的定义,但此时A还没有定义!
------解决思路----------------------
指针可以不必看到类型定义,就定义该类型的指针(引用也类似),
因为所有指针长度相同(早期 near,far 指针,所有 near 相同,所有 far 相同)