C++ 继承 9--两义性的归属问题

原创 2018年04月17日 19:44:41


#include <iostream>

#include <string>
using namespace std;
/*---------------------------------
       12-16两义性的归属问题
---------------------------------*/
class human
{
public:
void walk()
{cout<<"人类能够直立行走"<<endl;}
};
class mother:public human
{

};
class father:public human
{

};
class son:public mother,public father //基类mother和father有共同的父类human
{                                     //派生类son访问共同基类中的成员时,将产生两义性

};
int main()
{
son Tom;
Tom.mother::walk();   //要指明从那个类继承来walk
Tom.father::walk();   //要指明从那个类继承来walk
return 0;

}


运行结果:

人类能够直立行走
人类能够直立行走
Press any key to continue

两义性的归属

#include using namespace std; class human {     public:     void stand(){cout }; class father...
  • Arivn_emb
  • Arivn_emb
  • 2013-11-21 16:15:15
  • 546

虚基类不会产生两义性

#include using namespace std; class human {     public:     void stand(){cout }; class father...
  • Arivn_emb
  • Arivn_emb
  • 2013-11-21 16:18:16
  • 402

C++构造函数的二义性

#include using namespace std; class Dog{ private: int y; public: Dog(); Dog(int y); }...
  • laohan_
  • laohan_
  • 2012-04-10 17:16:55
  • 388

继承产生两义性的问题

#include using namespace std; class A { public: A(){cout
  • qq125096885
  • qq125096885
  • 2015-03-15 15:54:14
  • 218

C++ 继承 11--虚基类不会产生两义性 注意对比12-16节 “C++ 继承 9--两义性的归属问题”

#include &amp;lt;iostream&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;/*--------------...
  • Paulliam
  • Paulliam
  • 2018-04-17 20:49:45
  • 8

C++中常见的两种二义性问题及其解决方式

--------------------------------一、“倒三角”二义性问题------------------------------- 问题描述:卤煮之所以称之为“倒三角问题”,是因为...
  • CallRock
  • CallRock
  • 2016-09-18 10:26:39
  • 417

关于函数二义性的问题

#include using namespace std; void f(int a){ cout
  • Primary_wind
  • Primary_wind
  • 2014-09-25 08:45:18
  • 310

C++ 继承 7--多重继承容易产生两义性

#include &amp;lt;iostream&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;/*--------------...
  • Paulliam
  • Paulliam
  • 2018-04-16 09:53:35
  • 3

C++ 继承 8--两义性在重载时的一些问题

#include &amp;lt;iostream&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;/*--------------...
  • Paulliam
  • Paulliam
  • 2018-04-16 16:11:49
  • 1

C++虚基类解决二义性问题及执行结果分析

由于C++中允许多继承,所以会出现二义性问题:在多个派生类中,定义了相同名字的方法,这时再在main函数里面通过基类调用该方法时,编译器就犯难了。因为它不知道你到底是想用哪一个派生类里面的方法。 ...
  • liu765023051
  • liu765023051
  • 2013-03-15 18:55:35
  • 3606
收藏助手
不良信息举报
您举报文章:C++ 继承 9--两义性的归属问题
举报原因:
原因补充:

(最多只允许输入30个字)