相关疑难解决方法(0)

在C++中,什么是虚拟基类?

我想知道" 虚拟基类 "是什么以及它意味着什么.

让我举个例子:

class Foo
{
public:
    void DoSomething() { /* ... */ }
};

class Bar : public virtual Foo
{
public:
    void DoSpecific() { /* ... */ }
};
Run Code Online (Sandbox Code Playgroud)

c++ virtual-inheritance

389
推荐指数
6
解决办法
30万
查看次数

虚拟继承混淆

我正在阅读关于继承的内容,我有一个我几个小时都无法解决的重大问题:

鉴于一个类Bar是一个具有virtual函数的类,

class Bar
{
    virtual void Cook();
};
Run Code Online (Sandbox Code Playgroud)

有什么不同:

class Foo : public Bar
{
    virtual void Cook();
};
Run Code Online (Sandbox Code Playgroud)

class Foo : public virtual Bar
{
    virtual void Cook();
};
Run Code Online (Sandbox Code Playgroud)

?谷歌搜索和阅读的时间提供了大量有关其用途的信息,但实际上没有人告诉我两者之间有什么区别,只是让我更加困惑.

c++ inheritance virtual-inheritance c++11

5
推荐指数
2
解决办法
809
查看次数

标签 统计

c++ ×2

virtual-inheritance ×2

c++11 ×1

inheritance ×1