gpt4 book ai didi

c++ - 为什么我可以在 C++ 中从外部访问私有(private)方法?

转载 作者:可可西里 更新时间:2023-11-01 18:29:40 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why is it allowed to call derived class' private virtual method via pointer of base class?

最近遇到一个奇怪的问题,请引用如下代码:

#include <iostream>

using namespace std;

class A
{
public:
virtual void disp() {
cout<<"A disp"<<endl;
}

};

class B : public A
{
private:
void disp() {
cout<<"B disp"<<endl;
}
};

int main()
{
A a;
a.disp();

A *b = new B();
b->disp();
}

输出是:

A disp
B disp

我想知道为什么指针b可以访问disp()?这是私有(private)的!不是吗?

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