您的位置:首页 > 其它

virtual

2015-10-10 00:25 274 查看
#include <iostream>

using namespace std;

class Base
{
public:
virtual void show(int i = 1)
{
cout << i + 1 << endl;
}
};
class BasePlus :public Base
{
public:
virtual void show(int i = 10)
{
cout << i << endl;
}
};
int main()
{

Base *p = new BasePlus;
p->show();//--->1
//参数根据指针类型
//函数根据对象类型
//上面两句就是输出1的原因,也就是用Base的show的参数(也就是1),函数用的是BasePlus的show,把参数1放在子类的show,就是输出1啦
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: