2306C++虚继承
构 B{无序映<串,串>列;整 大小=0;空 f(){大小++;}
};
//虚继承其实不错,但是占位置,占空间.构 C:虚 公 B{空 g(){}
};构 D:虚 公 C{空 h(){}
};
构 S{};
构 T{};
//元<类 T>构 E:虚 公 D{};
构 E:虚 公 D{};空 主(){//E<S>e;e.f();打印(e.大小);//E<T>m;m.f();打印(m.大小);打印(型长(D));打印(型长(B));打印(型长(E));
}
主要是没有统一设置虚继承
或专门
是静态变量,
这样,只能单独设置,不能抽象.
每继承一个,虚继承
会有4
字节.如果是静态
变量,则不论怎么继承,都是1
字节.但有时,又不想用静态
变量,所以,没得法.