CPP学习之——减少两义性产生的混淆问题(12.17)

一 概述

在派生类中调用基类相同的成员,不仅容易引起混淆,而且太麻烦,我们用示例说明

二 示例演示及结果输出

2.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<iostream>
using namespace std;
class a
{
public:int num(){return 1;}
};
class b:public a
{
public:int num(){return 2;}
};
class c:public a
{
public:int num(){return 3;}
};
class d:public b,public a
{
public:
int num(){return 4;}
int B(){return b::num();}
};
int main()
{
d d;
//cout<<d.b::num()<<endl;
cout<<d.B()<<endl;
return 0;
}

2.2 输出结果

1
2

2.3 代码说明

  • 在派生类中调用基类相同的成员,容易引起混淆