virtual-inheritance 相关问题

Virtual Inheritance用于解决与C ++中的多重继承相关的可怕钻石问题。

虚拟继承:错误:没有唯一的最终重写器

我知道在提出这个问题之前,这里已经介绍了虚拟继承,我详细介绍了虚拟继承,并详细介绍了类似问题的详细信息,例如

回答 3 投票 0

如何从具有相同非虚拟祖父母类的两个类继承?

假设我有四个A、B、C、D类: A类{ 民众: 浮动一些数据; 浮动一些Func(); } B 类:公共 A { 民众: 浮动一些其他数据; 浮动一些OtherFunc(); } C 类:

回答 1 投票 0

什么时候应该调用虚基类的构造函数?

考虑以下示例: 结构爷爷{ 爷爷(int x) {} }; 结构爸爸:爷爷{ 爸爸(int y) : 爷爷(15) {} }; 结构儿子:爸爸{ 儿子(int z) : 爸爸(z) {} }; int main () {...

回答 1 投票 0

虚拟继承-钻石问题-到底发生了什么

我了解并阅读了足够多的关于通过虚拟继承解决的钻石问题。我的问题是 “将 virtual 放在您将继承的基类旁边有什么意义......

回答 1 投票 0

混合模板、多重继承和非默认构造函数

我有一个实现某些功能的基类,以及一个实际上扩展它的模板类。基类有一个非默认构造函数,因为它需要一些配置数据。

回答 1 投票 0

虚拟多重继承构造函数

我正在编写一个使用虚拟继承和多重继承的 C++ 代码示例。在我的代码中,我注意到我必须在每个派生类中调用基类的构造函数,甚至......

回答 2 投票 0

为什么struct b和struct d的大小不同?

#包括 使用命名空间 std; 结构体A{ 虚拟无效 f(){}; 整数a; 字符ch; }; 结构 B :公共 A{ 字符d; }; 结构体C{ 双 dd; 整数a; 字符ch; };

回答 1 投票 0

为什么struct b和struct d的大小不同?

#包括 使用命名空间 std; 结构体A{ 虚拟无效 f(){}; 整数a; 字符ch; }; 结构 B :公共 A{ 字符d; }; 结构体C{ 双 dd; 整数a; 字符ch; };

回答 1 投票 0

直接继承的替代方案

我有两个类A类和B类。我希望B类具有A类的功能以及它自己的更多功能。执行此操作的非常简单的方法之一是从 cl 继承类 B...

回答 4 投票 0

公有继承中的公有方法在 C++ 中变为私有[已关闭]

我有一个带有公共方法的基类,但是当我尝试从从基类公开继承的派生类调用它时,它变成了私有方法。这怎么可能?不应该公共继承吗...

回答 1 投票 0

传递既没有虚拟继承也没有模板的非静态成员函数[重复]

如何将对象 Problem1 obj 的非静态成员函数 eval 传递给对象 Solversolver ? #包括 #包括 // 非模板类 结构求解器{ ...

回答 2 投票 0

你好社区,多重继承和破坏子对象的问题

第 1 部分: 我有一个超类 compteBancaire 至极有两个子类 compteCourant 和 compteEpargne 和另一个子类 compteCourantEpargne 从 compteCouran 继承多重继承...

回答 0 投票 0

c++虚继承,调用thunkfunc报错

我正在学习c++类的对象模型,我在ubuntu g++11中做了一个演示如下: #包括 使用命名空间标准; B类{ 民众: B(int i = 1) : ib(i) {} 虚空 f() {

回答 0 投票 0

虚拟继承背后发生了什么?

最近在做一个老游戏的插件,遇到了类似钻石传承的问题。 我有一个非常简化的例子,写成如下: #包括 #

回答 2 投票 0

多重和虚拟继承的类型转换

虚继承编译static_pointer_cast时为什么报错? #包括 #包括 结构顶部{ 整数 = 1; }; 左结构:公共顶部{ 整数 b = 2; };

回答 0 投票 0

C++多重虚继承,类共享同一个子对象

我想从“B 类”继承“x”,从“C 类”继承“y”,但两个类共享相同的“A”子对象。有什么解决办法吗? #包括 A类{ 受保护: 诠释 x; ...

回答 1 投票 0

如何检查派生类的类型?(C++ Instanceof)

假设我有一个基础抽象类和三个不同的类,它们派生并实现了它的方法。是否有一个像C#中的 "类型 "对象?或者换句话说,我如何获得所有这些类的实例?

回答 2 投票 1

将公共方法私有化为基类的子类

我正在为图的类层次结构进行工作,在这种结构中,我拥有称为disjoint_union的方法。因为基类包含需要更新的属性(例如邻接表),所以需要更新...

回答 1 投票 0

无法在C ++子类中使用虚拟函数

我正在制作一个虚拟功能程序,其中人,教授和学生三个班级。人被两个教授公开继承。在这里我想在...

回答 1 投票 0

此示例在C ++中使用虚拟继承吗?

我可以这样做吗? A类{public:virtual void aFoo()= 0; }; B类:虚拟公共A {public:虚拟void aFoo(){...}}; D类:公共A {}; C类:公共B,虚拟公共D {} ...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.