virtual-functions 相关问题

在面向对象的编程中,虚函数或虚方法是一种函数或方法,其行为可以通过具有相同签名的函数在继承类中重写。这个概念是面向对象编程(OOP)的多态性部分中非常重要的一部分。

为什么成员函数是 virtual 会影响实际上不需要虚拟调度的 TU 的编译代码?

在这样的TU中 #include“Foo.hpp” int main() { // 东西 Foo* foo{new Foo{}}; foo->foo(); // 东西 } 其中 Foo.hpp 包含 #pragma 一次 结构体 Foo { 虚拟语音...

回答 1 投票 0

在下面的程序中,我不明白答案 A::h() 和 A::h() [已关闭]

在我看来,pA是A类型的指针,但保存的是B类型的b_object的地址。由于h()是B类中的虚函数(继承自A)并且也是重载的,所以它会隐藏

回答 1 投票 0

在下面的程序中,不理解答案 A::h() 和 A::h()

在我看来,pA是A类型的指针,但保存的是B类型的b_object的地址。sinch h()是B类中的虚函数(继承自A)并且也是重载的,所以它会隐藏

回答 1 投票 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

c++中子类的子类的继承多态性

#包括 使用命名空间 std; 类父类{ 民众: 虚空 f() { cout << "parent::f2()" << endl; } }; class child : public parent { public...

回答 1 投票 0

如何使用GCC扩展来判断重载方法是否被覆盖

这里解释了 gcc 提供了一个扩展,它接受一个指向对象的指针和一个指向虚拟方法的指针,并解决了动态调度的问题,给出了一个自由函数指针。目前还不清楚...

回答 1 投票 0

如果类具有带有虚方法的基类c ++,则使用initializer_list初始化类实例

如果类具有带有虚方法c ++的基类,如何使用initializer_list初始化类实例?我想避免编写构造函数并使用“惰性”方式来初始化类,例如 X x{"

回答 1 投票 0

处理不同组继承变量的设计模式?

我有一个基类,用于存储数据库一条记录的所有列。在那个课程中我也有设置和方法。我还有一个名为 Run() 的纯虚拟方法。现在我想要三个孩子...

回答 1 投票 0

派生类中的具体函数可以覆盖单独基类中的虚函数吗?

派生类中的具体函数是否可以覆盖单独基类中的虚函数?像这样: // 抽象人 I 类_Person { 民众: 虚拟整数年龄()=...

回答 1 投票 0

虚函数(C++ 继承)[关闭]

假设我们有以下代码: #包括 #包括 使用命名空间标准; A类{ 民众: A() : m_name("一个名字") {} virtual void printName() { cout ...

回答 1 投票 0

子类调用父函数的 C++ 继承问题 [关闭]

我一直在尝试使用 C++ 继承,但我遇到了问题。我有一个名为 Element 的父类和两个子类 Panel 和 Button。在面板中,我有元素的正常变量向量...

回答 0 投票 0

当我使用 -fsanitize=address 标志编译时调用虚函数导致崩溃

使用命名空间标准; A类{ 民众: 虚空 fun1()=0; }; B类:公共A { 民众: 虚空 fun1(); }; 无效 B::fun1() { 计算<< " In B::fun1 fu...

回答 1 投票 0

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

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

回答 0 投票 0

C++:重写虚函数未按预期工作

在我的C++程序中,我有一个基类和派生类。我正在尝试实现虚函数覆盖,但是当我从向量中获取数据时它没有按预期工作。我会很感激...

回答 0 投票 0

虚函数继承没有按预期工作

模块虚拟方法; // 这个例子是指lab1类继承 // 目的是为了学习虚方法的方便 反式类; 位[31:0]数据; 内...

回答 1 投票 0

system verilog虚函数继承问题

代码如下 模块虚拟方法; //这个例子是指lab1类继承 // 目的是学习虚方法的便利性 反式类; 有点...

回答 0 投票 0

从子类中获取父类成员

下面的代码按预期工作。 从 B 类和 C 类,我可以使用虚拟方法 get_value() 访问 D 类中声明的 m_value。 A_抽象类 { 受保护: [[nodisc...

回答 0 投票 0

在C++中访问虚函数表(vtbl)的实现是什么? [关闭]

有人可以向我提供代码以及编译器如何管理和访问 vtbl 以及虚拟抽象类及其继承类中的运行时的解释吗? 我在读...

回答 0 投票 0

针对同一对象重复调用同一函数的虚函数优化

假设有这样一个抽象类: 类基础{ 民众: 虚空 f() = 0; 虚拟 ~Base() = 默认值; }; 还有一些功能: void 函数 (Base& x, bool flag1, bool flag2,

回答 3 投票 0

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