나는이 방법을 사용하여이서브 클래스는 내가 먼저 구성원으로 구조체의 포인트를 가지고있는 구조체 (원형, 사각형 등)을 전달할 수 있습니다, C에서
struct Point {
int x,y;
}
struct Circle {
struct Point p; // must be first!
int rad;
}
void move(struct Point *p,int dx,int dy) {
....
}
struct Circle c = .....;
move((struct Point*)&c,1,2);
처럼 뭔가를 할 수 있습니다 이동합니다. 어떻게 Google에서 동일한 작업을 수행 할 수 있습니까? 이동은 종류와 방법을 가지고 있으며, 이 프로그래밍의 객체 지향 스타일을 수 있지만
, 왜 안 사용 '이동 (c.p, 1, 2)'대신'Circle'의 메모리 레이아웃에 의존? 또한, 당신은 항상 그것의 barycenter에서 모양을 정의하지 않는 한, 그것은 모든 도형으로 확장되지 않습니다? –
coz 서클 내부 세부 정보는 exported.ie가 아닙니다. 서클은 클라이언트에 대해 불투명 한 유형으로되어 있습니다. – Nyan