Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设 A 类有方法do();,B 类有字段data;。我想知道是否有办法(例如使用 Boost)从 A 和 B 创建一个具有方法do()和字段的类联合data?
do();
data;
do()
data
union 在 c 和 c++ 中有特定的含义,并不是你想要的。听起来你想要的是多重继承,一个C继承自A和的类B。或者,您也可以拥有一个C包含类实例的类A和B. 通常组合(“has-a”)优于继承(“is-a”)。
C
A
B
做梦都别想。这将需要反射,这在 C++ 语言中目前不存在,即使它确实存在,任何人都不太可能实现这样的事情,因为你为什么要这样做。你能得到的最接近的是如果你从两个类继承。