C++遗传问题13

null

#include<iostream>
using namespace std;
class Base1
{
public :
char c;
};
class Base2
{
public :
int c;
};
class Derived: public Base1, public Base2
{
public :
void show()  { cout << c; }
};
int main( void )
{
Derived d;
d.show();
return 0;
}


(A) “cout< (B) 垃圾值 (C) “类派生:public Base1,public Base2”中的编译器错误 答复: (A) 说明: 变量“c”存在于派生的两个超类中。所以对“c”的访问是不明确的。使用范围分辨算子可以消除歧义。

#include<iostream>
using namespace std;
class Base1
{
public :
char c;
};
class Base2
{
public :
int c;
};
class Derived: public Base1, public Base2
{
public :
void show()  { cout << Base2::c; }
};
int main( void )
{
Derived d;
d.show();
return 0;
}


这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享