Вопрос довольно прямолинейный. Для ясности рассмотрим приведенный ниже пример:
// 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;
}
У экземпляров f
, b
, d1
и d2
все занимают одинаковое пространство в памяти? В качестве продолжения этого вопроса копирование экземпляров Foo
при его передаче займет больше времени Bar
, теоретически?