下面是一个例子:
struct C_point {......};
class Point {
public:
operator C_point() { return _c_point; }
//....
private:
C_point _c_point;
};
C struct 在C++中的一个合理用途:是当你要传递一个复杂的class object的全部或部分到某个C函数中去时,struct 声明可以将数据封装起来,并保证拥有与C兼容的空间布局。然而这项保证只在组合的情况下才存在,如果是继承而不是组合,编译器会决定是否应该有额外的data members被安插到base struct subobject之中