Pytanie jest całkiem proste. Dla jasności, rozważmy przykład poniżej:Czy metody klasy zwiększają wielkość instancji klasy?
// Note that none of the class have any data members
// Or if they do have data members, they're of equal size, type, and quantity
class Foo {
public:
void foo1();
void foo2();
// 96 other methods ...
void foo99();
};
class Bar {
public:
// Only one method
void bar();
};
class Derived1 : public Foo { };
class Derived2 : public Bar { };
int main() {
Foo f;
Bar b;
Derived1 d1;
Derived2 d2;
return 0;
}
Czy instancje f
, b
, d1
i d2
wszyscy zajmują tę samą ilość miejsca w pamięci? Jako rozszerzenie tego pytania, czy skopiowanie wystąpień o wartości Foo
podczas ich przekazywania trwa teoretycznie dłużej niż Bar
?
99 metod? arrgh .. – Nim
@Nim: Chciałem naprawdę zrozumieć.;) – Zeenobit