virtual-functions 相关问题

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

派生类型的对象上未调用基类方法:没有指针和引用的多态性[重复]

考虑一个基类和一个从它继承的派生类(称为 Child)。 假设基类有一个声明为虚拟的成员函数,并且子类覆盖该函数。 我想...

回答 1 投票 0

如何将对象声明为基类但使用派生类方法?

考虑一个基类和一个从它继承的派生类(称为 Child)。 假设基类有一个声明为虚拟的成员函数,并且子类覆盖该函数。 我想...

回答 1 投票 0

如何在基类中使用虚函数?

考虑以下两个结构: 结构潜力{ 虚拟双能量(int full_system, int不对粒子_id)=0; 双能量(int full_system){ int n_粒子=100; 窦...

回答 1 投票 0

“隐式 ODR 使用恰好被删除的非纯虚拟成员函数”示例

cppreference.com关于Deleted函数的描述中有一句话: 但是,允许对恰好被删除的非纯虚拟成员函数进行隐式 ODR 使用。 你能证明...

回答 1 投票 0

C++ 虚函数基准测试

我认为每个 C++ 程序员都曾在某个时候听过“虚拟函数很慢”这句话。因此,我决定将虚拟函数与常规成员函数进行基准测试。 不幸的是...

回答 1 投票 0

基类指针调用派生类中虚拟的非虚基函数

我正在学习C++虚函数。我在基类中声明了一个非虚函数,在派生类中声明了与虚函数相同的函数。如果我使用派生对象创建基类指针并调用

回答 1 投票 0

C++ 尾随返回类型对虚函数有何帮助?

C++ Hight Performance书中有这样一句话: 在某些情况下,尾随返回是必要的。例如,如果我们正在编写一个虚函数,或者函数声明放在一个he...

回答 1 投票 0

如何计算总价?续集中?

我有四个表用户、订单、订单产品(加入表)、产品、 我想计算订单表中的totalprice列,OrderProducts有数量和productId,产品有价格列,我想要...

回答 1 投票 0

非指针对象的虚方法表?

如果你有一个具有虚函数的类的对象,并且这个对象不是指针,那么会使用虚方法表吗? 例如,让我们假设 Student 类有一个虚函数

回答 1 投票 0

常量在虚函数重写中被忽略

标题已经说明了一切。我不明白为什么编译器会允许这样做: #包括 类基类 { 民众: 基数()=默认值; 虚拟 ~Base() {} 虚拟...

回答 1 投票 0

从虚拟类继承的类的显式特化

我有一个虚类 BASE 和一个继承类 BOX_str ,它实现了虚函数 基类{ 民众: 虚拟 ~BASE() {}; 虚拟 std::vector custom_int() const...

回答 1 投票 0

C++ 虚拟模板函数最佳解决方法

我有一个 ComInterface 类,它有一个重载函数 send。对于许多不同的枚举类类型,此函数被重载。 类 ComInterface{ 民众: virtual void send(MotorCommand cmd...

回答 1 投票 0

为什么成员函数是 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

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