gpt4 book ai didi

c++ - 基类私有(private)部分的虚函数

转载 作者:行者123 更新时间:2023-11-28 01:25:16 28 4
gpt4 key购买 nike

<分区>

我是 c++ 的新手,让我感到困惑的是,如果在基类的私有(private)部分定义一个虚函数,并且相同的函数在公共(public)部分的子类中被重写,仍然会在下面给出编译器错误代码

#include<iostream> 
using namespace std;

class Base
{
int x;
virtual void fun()
{
}
public:

int getX() { return x; }
};

// This class inherits from Base and implements fun()
class Derived: public Base
{
int y;
public:
void fun() { cout << "fun() called"; }
};

int main(void)
{
Base *d = new Derived;
d->fun();
return 0;
}

当创建 vtable 时,它​​将包含重写函数,因此在调用它时应该调用子类重写函数,该函数是公共(public)的。为什么会报错?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com