이유는 다음 코드에서 sizeof(X) == 4
및 sizeof(Y) == 8
입니까?기본 클래스, 상속 클래스 크기()
또한 X
클래스에서는 멤버 함수가 메모리 공간을 차지하지 않는 이유는 무엇입니까?
class X {
int i;
public:
X() { i = 0; }
void set(int ii) { i = ii; }
int read() const { return i; }
int permute() { return i = i * 47; }
};
class Y : public X {
int i; // Different from X's i
public:
Y() { i = 0; }
int change() {
i = permute(); // Different name call
return i;
}
void set(int ii) {
i = ii;
X::set(ii); // Same-name function call
}
};
cout << "sizeof(X) = " << sizeof(X) << endl;
cout << "sizeof(Y) = " << sizeof(Y) << endl;
도서 코드에서 복사합니다. :) 이제 알았어. 그러나이 두 가지 diff i를 사용하는 방법에 대해서는 명확하지 않습니다. – user1279988
내 답변에 추가되었습니다. 희망이 도움이됩니다. –
코드를 코드 봤어요. 답변을 주셔서 감사합니다! – user1279988