class parent

{public:

int x;

int y;


virtual int area()

{

return x * y;

}

};


class child : public parent

{public:


int z;


virtual int area() override

{

return z * x * y;

}


};



int main()

{

child C;

C.x = 2;

C.y = 2;

C.z = 2;


parent* P = &C;


cout << P->area();

}


이러면 부모 클라스 객체의 가상함수 주소에 자녀 클래스에서 선언한 함수가 들어가있어서 자녀함수에서 선언한 area()가 호출되는건 이해했는데

자녀클래스에서만 선언된 변수 z가 뭔줄은 어떻게 알고 계산하는거임? parent 포인터잖아