gpt4 book ai didi

c++ - 虚方法只适用于基类指针

转载 作者:行者123 更新时间:2023-12-05 08:24:09 24 4
gpt4 key购买 nike

<分区>

下面是 C++ 虚函数最简单的例子:

#include <iostream>

class A {
public:
virtual void f() {
std::cout << "A";
}
};

class B : public A {
public:
void f() {
std::cout << "B";
}
};


int main() {
{
// calls f() in derived class
A* a = new B();
a->f();
}
{
// calls f() in base class
A a = B();
a.f();
}
}

这个程序的输出是BA。我希望它是 BB,即在任何情况下都调用基类。为什么使用基类指针在这里有所不同?我没有在标准中找到解释。

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