https://negation.hatenadiary.org/entry/20111203/1322876171
↑で、簡単に書けば、
class Book {・・・};
class Novel : public Book{・・・};
class Comic : public Book{・・・};
class Shelf { public: std::vector<Book> list; ・・・ };
Shelf g_shelf;
int main(void) {
Novel n = Novel("Hoshio wo tugumono");
Comic c = Comic("Kimetsu no Yaiba");
Shelf s = Shelf();
g_shelft.list.push_back(n);
g_shelft.list.push_back(c);
}
のようになっているところがあるけど、
vector<Book>って、Bookの実体の動的配列で、
Book a[100];
とにら様なものだと思うんだけど、NovelやComicのクラスのバイトサイズが
Bookを越えたら、入りきれないと思うんだけど、これで合ってる?
合ってるとしたら、どういう仕組み?
もしかして、vector<Book>って、
Book *p[100];
みたいな配列なの?