C++ 语言程序 哪个解释下

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:00:53
#include <iostream.h>
class a
{
public:
virtual void func(){cout<<"func in class a"<<endl;}
};
class b
{
public:
virtual void func(){cout<<"func in class b"<<endl;}_
}
class c:publica,public b
{
pulic:
void func(){cout<<"func in class c"<<endl;}
};
void main()
{
c c;
a&pa=c;
b&pb=c;
pa.func();
pb.func();

}

杂个答案是
func in class b
func in class b 说说理由 没弄清楚

输出结果应该是
func in class c
func in class c
你是不是弄错了

你的程序有点小错误
#include <iostream>
using namespace std;
class a
{
public:
virtual void func(){cout<<"func in class a"<<endl;}
};
class b
{
public:
virtual void func(){cout<<"func in class b"<<endl;}
};
class c:public a,public b
{
public:
void func(){cout<<"func in class c"<<endl;}
};
void main()
{
c c;
a&pa=c;
b&pb=c;
pa.func();
pb.func();

}

#include <iostream>
using namespace std;
class a
{
public:
virtual void func(){cout<<"func in class a"<<endl;}
};
class b
{
public:
virtual void func(){cout<<"func in class b"<<endl;}
};
class c:public a,public b