virtual-inheritance

virtual-inheritance

文章 0 浏览 5

我应该几乎总是使用虚拟继承吗?

我从 虚拟继承不会破坏静态组合? 中看到,虚拟继承添加了 sizeof(pointer) 对象的内存占用。除此之外,默认情况下使用虚拟继承,仅在需要时才使用传…

习ぎ惯性依靠 2024-10-09 01:39:00 10 0

C++虚拟继承和类型转换/复制构造函数混淆

我有下面的代码: class A { }; class B: public virtual A { public: B() { cerr << "B()"; } B(const A& a) { cerr << "B(const A&)"; } }; class C…

沙沙粒小 2024-09-24 11:49:58 12 0

调用虚拟基类的重载构造函数

有没有一种(实用的)方法可以绕过正常的(虚拟)构造函数调用顺序? 示例: class A { const int i; public: A() : i(0) { cout << "calling A()" <<…

溇涏 2024-09-14 05:33:04 11 0

基类列表是指示虚拟继承的正确位置吗?

我从未见过用作虚拟和非虚拟基类的类(即,如果某个类旨在成为祖先,那么我们通常会提前知道继承类型 - 虚拟或非虚拟)。 所以我认为 c++ 中有一个容…

温暖的光 2024-09-13 21:10:34 9 0

C++:继承同名的重载非虚拟方法和虚拟方法会导致问题

我试图将两个具有不同参数列表的同名方法继承到派生类。其中之一是虚拟的并在派生类中被重写,另一个是非虚​​拟的。这样做时,我在尝试从派生类对象…

残疾 2024-09-13 01:10:30 16 0

解决 C++ 中不明确的 this 指针

我正在尝试从旧类中派生出一个新类。基类声明如下所示: class Driver : public Plugin, public CmdObject { protected: Driver(); public: static Dr…

一袭白衣梦中忆 2024-08-31 16:11:33 12 0

关于虚拟继承层次结构的问题

我在处理虚拟继承时遇到了这个问题。我记得在非虚拟继承层次结构中,子类的对象保存其直接超类的对象。那么虚拟继承呢?在这种情况下,子类的对象是直…

小忆控 2024-08-30 16:56:57 10 0

虚拟继承如何解决“钻石”问题(多重继承)歧义?

class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cout<<"B";} }; class C: virtual public A { publ…

挥剑断情 2024-08-29 02:42:57 18 0

纯虚拟类和集合(向量?)

我正在开发一个图形应用程序,该应用程序相当广泛地使用虚拟类。它具有: 图片类,本质上是形状的集合。 形状类,它是纯虚拟的,并且有几个继承自它的…

忆依然 2024-08-24 07:16:36 12 0

C++多重继承阻止钻石

有没有办法在 C++ 中定义类 Foo 这样 我就可以继承它, 我不能从中“钻石继承”, 即 class Cat: public Foo{} // okay class Dog: public Foo{} // o…

分分钟 2024-08-22 18:24:35 15 0

c++虚拟继承

问题: class Base { public: Base(Base* pParent); /* implements basic stuff */ }; class A : virtual public Base { public: A(A* pParent) : Bas…

漫漫岁月 2024-08-19 04:20:13 14 0

c++ 最后一堂课

class Temp { private: ~Temp() {} friend class Final; }; class Final : virtual public Temp { public: void fun() { cout<<"In base"; } }; class…

暗恋未遂 2024-08-03 04:21:38 13 0

C++ 中的不对称虚拟继承钻石

所以我有这个想法,我认为在C++中基本上不可能实现......但我想问一下。 我通读了 Stroustrup 的第 15 章,但没有得到答案,而且我认为有关继承钻石的…

青春有你 2024-07-30 00:15:12 14 0

是不同的编译器吗? C++ 虚拟继承实现不兼容?

我有这样的公共接口层次结构: struct ISwitchable { /* Obtain pointer to another implemented interface of the same instance. */ virtual int sw…

私藏温柔 2024-07-25 04:14:59 13 0

C++ 多重虚拟继承与 COM

网络上充斥着对“可怕的钻石问题”的解释。 StackOverflow 也是如此。 我想我理解这一点,但我无法将这些知识转化为理解类似但不同的东西。 我的问题…

薆情海 2024-07-09 05:56:59 12 0
更多

推荐作者

佚名

文章 0 评论 0

羁客

文章 0 评论 0

文章 0 评论 0

夏日落

文章 0 评论 0

隐诗

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文