以下程序在编译和执行过程中是否会导致任何问题?
class A{
public: virtual void foo(){}
};
class B:public A{};
int main(){
B b;
b.foo();
}
答案 0 :(得分:1)
也许,我猜,他们正在测试你是否知道虚拟和抽象之间的区别?
答案 1 :(得分:1)
编译或运行此程序不会有任何问题。
virtual
函数可以被覆盖,但它们不一定是。如果对象的类没有实现虚函数,那么将检查超类的实现。
答案 2 :(得分:0)
对我来说很好看。你认为它会导致什么问题?
答案 3 :(得分:0)
为什么会有问题?您正在调用在父类上定义的虚函数。 B继承了它。