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]; みたいな配列なの?