在struct A中声明另一个struct B,那么 B 的实例变量就能调用A的method?

kooder · · 1302 次点击
当你在`B{}`里嵌入`A{}`时,内存布局确实跟继承一样,大概 ``` B{ A{} } ``` ,但嵌入的是`*A{}`时就不一样了: ``` B{ *A } A{} ```
#4
更多评论
在struct A中声明另一个struct B:官方叫匿名成员变量,说到底还是个变量 那么 B 的实例变量就能调用A的method:实质上是B的实例通过A的匿名变量调用A的方法 无论写成 *A 或者 A,都能跑通:这是因为有自动引用跟自动解引用
#1
谢谢! 那么这种用法岂不是可以用来实现OOP的继承?
#2