多重继承容易产生两义性
2013-11-21 15:34
253 查看
//产生两义性问题的例程如下:
/*
#include<iostream>
using namespace std;
class A
{
public:
void hello(){cout<<"基类A的hello函数"<<endl;}
};
class B
{
public:
void hello(){cout<<"基类B的hello函数"<<endl;}
};
class C:public A,public B
{
public:
void hello(){cout<<"子类C的hello函数"<<endl;}
};
void main()
{
C c;
c.A::hello();
//基类A的hello函数(成员名限定由类名A加域操作符::组成)
c.B::hello();
//基类B的hello函数
c.hello();
//子类C的hello函数 编译器都是从离自己最近的目录树向上搜索的,因为类C定义了hello 函数所以闲搜索到对象C的hello 函数
}
*/
/*
#include<iostream>
using namespace std;
class A
{
public:
void hello(){cout<<"基类A的hello函数"<<endl;}
};
class B
{
public:
void hello(){cout<<"基类B的hello函数"<<endl;}
};
class C:public A,public B
{
public:
void hello(){cout<<"子类C的hello函数"<<endl;}
};
void main()
{
C c;
c.A::hello();
//基类A的hello函数(成员名限定由类名A加域操作符::组成)
c.B::hello();
//基类B的hello函数
c.hello();
//子类C的hello函数 编译器都是从离自己最近的目录树向上搜索的,因为类C定义了hello 函数所以闲搜索到对象C的hello 函数
}
*/
相关文章推荐
- 利用python进行浏览器自动浏览
- Django QuerySet API
- C# 主板号\CPU\硬盘等信息
- 分享一个不错的web弹窗层解决方案layer
- 其他修饰符
- 获取电脑和平板物理地址
- C# GridView中DataFormatString属性的取值
- Linux 如何启动和关闭Oracle 服务
- Recover Binary Search Tree [LeetCode]
- Oracle内存结构
- trackbar轮廓检测/图像颜色分布直方图
- select选项在页面刷新的时候不变回默认值
- Keepalived双机热备
- Java压缩、解压缩工具类(Ant)
- 11gR2启动ASM实例时遭遇ORA-29701
- linux下MMC/SD/SDIO驱动系列之四 ---- SDIO的识别与操作
- 室内甲醛治理的一些方法
- Web Builder
- mysql的用户管理(三)
- 小度当成无线网卡使用