• CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다.
  • CSE207 수강생이 아니여도 편안하게 질문하세요.
  • 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다.

제목sizeof() class 질문2019-11-22 13:11
작성자

class Polygon {

protected:

int mPoint; // 꼭지점의 갯수

double mLength; // 한 변의 길이

public:

Polygon() {}

Polygon(int point, float length) { this->mPoint = point; this->mLength = length; }

~Polygon() {}

virtual void calcPerimeter() {

cout << "Perimeter: ";

if (sizeof(Polygon) == 24)

cout << "empty" << endl;

else

cout << mPoint * mLength << endl;

}

virtual void calcArea() {

cout << "Area: ";

if (sizeof(Polygon) == 24)

cout << "empty" << endl;

else {

double res = (mLength * mLength * mPoint / 4) * (1 / tan(3.141592653589793238462 / mPoint));

cout << res << endl;

}

}

};


이 class를 main에서 

Polygon pol; 이라 정의하고 sizeof() 값을 출력하면 24byte가 나오는데

int = 4, double = 8, virtual function = 4 x 2 = 8

이렇게 계산하면 20인데 나머지 4byte는 어디에 할당되나요?

댓글
이전질문2019-11-22
다음lab 12 응용문제 1번 질문입니다. 2019-11-20