小编Gho*_*ade的帖子

虚拟函数可以内联

如果我定义这样的类:

class A{
public:
    A(){}
    virtual ~A(){}
    virtual void func(){}
};
Run Code Online (Sandbox Code Playgroud)

这是否意味着虚拟析构函数并且func内联

c++ inline class virtual-destructor

9
推荐指数
2
解决办法
1万
查看次数

关于C++中的虚函数覆盖

我对以下情况有点困惑,它们是否是正确的覆盖功能copy但没有超载的方法,或者它们都是正确的?

class Base{
public:
    virtual Base* copy(Base* b){...}
};

class Derived:public Base{
public:
    virtual Base* copy(Base* b){...}//I know this should work
 // but how about the followings?
    //virtual Base* copy(Derived* b){...}
    //virtual Derived* copy(Base* b){...}
    //virtual Derived* copy(Derived* b){...}
};
Run Code Online (Sandbox Code Playgroud)

顺便说一下,访问权限的变化是否会有所不同?比如,我像这样编写Derived类:

class Derived:public Base{
private://or protected:
    virtual Base* copy(Base* b){...}
    ...
};
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism virtual inheritance overriding

0
推荐指数
1
解决办法
1197
查看次数