虚函数与非虚函数区别

来源:互联网 发布:steam mac游戏目录 编辑:程序博客网 时间:2024/05/22 10:51
非虚函数:
#include "iostream.h"

class A
{
public:
void funA() { funB(); }
void funB() { cout << "A" << endl; }
};

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

void main()
{
B b;
b.funA();
}


虚函数:
#include "iostream.h"

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

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

void main()
{
B b;
b.funA();
}



运行结果:
非虚函数显示:A
虚函数显示:  B


能否从基本原理上帮我解释一下?
原创粉丝点击