由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++ Q98: Call member function in virtual function (转载)
相关主题
C++ 弱问一个题2
大家来做题C++。a simple question for C++ class
C++疑问C++里面
[合集] C++问题(copy constructor)请教一个作用域的问题
private destructor关于c++的constructor的面试题
请教个virtual function的问题问一个简单的C++问题
为什么我看不懂下面的code,是不是水平还不够?C++菜问: 怎么这样也可以?
请教一道入门小题一个C++语法问题
相关话题的讨论汇总
话题: base话题: pay话题: void话题: function话题: derived
进入Programming版参与讨论
1 (共1页)
c**********e
发帖数: 2007
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: careerchange (Stupid), 信区: JobHunting
标 题: C++ Q98: Call member function in virtual function
发信站: BBS 未名空间站 (Fri Oct 21 20:04:02 2011, 美东)
What is the output of the following code? Why?
#include
using namespace std;
class base {
public:
void pay() { cout << "Base::pay" << endl; }
virtual void eat() { pay(); }
};
class derived: public base {
public:
void pay() { cout << "Derived::pay" << endl; }
};
void main() {
base* p = new derived;
p->eat();
}
d*l
发帖数: 1810
2
Base::pay
pay()并不是虚函数,调用的时候是直接绑定,既然是在Base::eat()中调用的,那么直
接绑定的结果就是Base::pay()被调用了

【在 c**********e 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: careerchange (Stupid), 信区: JobHunting
: 标 题: C++ Q98: Call member function in virtual function
: 发信站: BBS 未名空间站 (Fri Oct 21 20:04:02 2011, 美东)
: What is the output of the following code? Why?
: #include
: using namespace std;
: class base {
: public:
: void pay() { cout << "Base::pay" << endl; }

b*****n
发帖数: 482
3
vtable is queried for eat(), not pay()

【在 c**********e 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: careerchange (Stupid), 信区: JobHunting
: 标 题: C++ Q98: Call member function in virtual function
: 发信站: BBS 未名空间站 (Fri Oct 21 20:04:02 2011, 美东)
: What is the output of the following code? Why?
: #include
: using namespace std;
: class base {
: public:
: void pay() { cout << "Base::pay" << endl; }

1 (共1页)
进入Programming版参与讨论
相关主题
一个C++语法问题private destructor
小问题请教个virtual function的问题
C++编程问题,关于static member 在class中的使用,谢谢为什么我看不懂下面的code,是不是水平还不够?
帮看看这个C++里trim last blanks,错在哪里?请教一道入门小题
C++ 弱问一个题2
大家来做题C++。a simple question for C++ class
C++疑问C++里面
[合集] C++问题(copy constructor)请教一个作用域的问题
相关话题的讨论汇总
话题: base话题: pay话题: void话题: function话题: derived