【发布时间】:2016-12-02 17:07:35
【问题描述】:
在下面的 c++ 代码中使用虚函数
#include<iostream>
using namespace std;
class Base{
public:
virtual void fun(){
cout << "Base::fun()called \n";
}
};
class Child : public Base {
public:
void fun() {
cout << "Child::fun() called\n";
}
void door(){
cout << "Child::door() called \n";
}
};
int main(){
Base *base_ptr = new Child();
base_ptr->fun();
return 0;
}
如何使用 base_ptr 调用门函数? 这个问题是在一次采访中被问到的。 我想知道这是否可能
感谢您的回复
【问题讨论】:
-
将
virtual void door()=0;添加到Base的类声明中。还是不能修改Base? -
@drescherjm 。不,你不能修改 Base
-
你知道,当你看到 OOP 和类使用如此不正确时,找出你的反应可能只是一个技巧问题。
标签: c++ virtual-functions dynamic-binding