C++ “Object” class

前端 未结 2 1111
死守一世寂寞
死守一世寂寞 2021-02-05 07:27

In Java, there is a generic class called \"Object\", in which all classes are a subclass of. I am trying to make a linked list library (for a school project), and I have managed

2条回答
  •  情话喂你
    2021-02-05 08:10

    There's no generic base class in C++, no.

    You can implement your own and derive your classes from it, but you have to keep collections of pointers (or smart pointers) to take advantage of polymorphism.

    EDIT: After re-analyzing your question, I have to point out std::list.

    If you want a list which you can specialize on multiple types, you use templates (and std::list is a template):

    std::list a;
    std::list b;
    

    If you want a list which can hold different types in a single instance, you take the base class approach:

    std::list x;
    

提交回复
热议问题