class Point2D: Object
{
int X = 10, Y = 20;
}
class Point3D: Point2D
{
int Z = 30;
}
ND_OBJ* pnt2d_obj = ndCreateObj();
ND_STR* x_prop_str = ndCreateStr("X", 0);
ndSetObjProp(pnt2d_obj, x_prop_str, ND_INT_TYPE, (ND_ANY)10);
ND_STR* y_prop_str = ndCreateStr("Y", 0);
ndSetObjProp(pnt2d_obj, y_prop_str, ND_INT_TYPE, (ND_ANY)20);
ND_OBJ* pnt3d_obj = ndCloneObj(pnt2d_obj);
ND_STR* z_prop_str = ndCreateStr("Z", 0);
ndSetObjProp(pnt3d_obj, z_prop_str, ND_INT_TYPE, (ND_ANY)30);