覆盖和隐藏
来源:互联网 发布:linux file命令 x86 编辑:程序博客网 时间:2024/05/01 04:13
void VBase::xfn(int i)
{
cout<<"Base::xfn(int i)"<<endl;
}
void VBase::yfn(float f)
{
cout<<"Base::yfn(float f)"<<endl;
}
void VBase::zfn()
{
cout<<"Base::zfn()"<<endl;
{
cout<<"Base::xfn(int i)"<<endl;
}
void VBase::yfn(float f)
{
cout<<"Base::yfn(float f)"<<endl;
}
void VBase::zfn()
{
cout<<"Base::zfn()"<<endl;
}
void Derived::xfn(int i) //覆盖了基类的xfn函数
{
cout<<"Derived::xfn(int i)"<<endl;
}
void Derived::yfn(int c) //隐藏了基类的yfn函数
{
cout<<"Derived::yfn(int c)"<<endl;
}
void Derived::zfn() //隐藏了基类的zfn函数
{
cout<<"Derived::zfn()"<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
Derived d;
VBase *pB = &d;
Derived *pD = &d;
pB->xfn(5); //输出:Derived::xfn(int i)
pD->xfn(5); //输出:Derived::xfn(int i)
pB->yfn(3.14f);//输出:Base::yfn(float f)
pD->yfn(3.14f);//输出:Derived::yfn(int c)
pB->zfn(); //输出:Base::zfn()
pD->zfn(); //输出:Derived::zfn()
system("pause");
return 0;
}
//构成函数覆盖的条件为:
//1.基类函数必须是虚函数(使用virtual关键字进行声明)。
//2.发生覆盖的两个函数要分别位于派生类和基类中。
//3.函数名称与参数列表必须完全相同
//函数的覆盖是发生在派生类与基类之间,两个函数必须完全相同,并且都是虚函数。那么不属于这种情况的,就是隐藏了。
1 0
- 覆盖和隐藏
- 隐藏 重载和覆盖
- 重载,覆盖和隐藏
- 隐藏和覆盖
- 重载、覆盖和隐藏
- 重载、覆盖和隐藏
- 隐藏和覆盖 java
- 覆盖和隐藏
- 隐藏和覆盖 C++
- 隐藏、覆盖和重载
- C++隐藏和覆盖
- Java覆盖和隐藏
- C++ 覆盖和隐藏
- 覆盖和隐藏
- 覆盖和隐藏
- 重载、覆盖和隐藏
- 重载、覆盖和隐藏
- 隐藏和覆盖
- Adjacent Node Sum(邻接表处理)
- cocosjs模态对话框
- 缓存数据的方法
- 爬虫第二章笔记(1)
- centos 7 源码安装MySQL-5.6.20
- 覆盖和隐藏
- 【mark】App Widget设计
- linux SSH免登录
- Android Studio当中配置Open CV
- tinyos将节点号通过LED闪烁显示出来
- rsync 遇到过的问题
- bananapi之D1配置
- jmeter测试https
- MySQL索引设计原则