Virtual Table C++

后端 未结 4 1763
既然无缘
既然无缘 2020-12-24 03:04

I read a lot of people writing \"a virtual table exists for a class that has a virtual function declared in it\".

My question is, does a vtable exists only for a cla

4条回答
  •  Happy的楠姐
    2020-12-24 03:41

    Yes it's true. Actually, given base's defintion:

    class derived:public base{
    public:
     void print(){cout<<"derived print\n";}
    };
    

    is completely equivalent to:

    class derived:public base{
    public:
     virtual void print(){cout<<"derived print\n";}
    };
    

    ... because you already defined print as virtual in base.

    I'd wish the compiler would enforce that...

提交回复
热议问题