C++类moto实现的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 21:35:26
#include<iostream>
using namespace std;
class v
{
protected:
int m,w;
public:
void run(){}
void stop(){}
v(int m1=0,int w1=0){m=m1,w=w1;}
};
class b:virtual public v
{
protected:
int h;
public:
b(){}
};
class m:virtual public v
{
int s;
public:
m(){}

};
class motor:public m,public b
{
public:
motor()
{cout<<m;}//这里出问题了,为什么这句有问题?不是设成了虚基类了吗?
};
void main()
{
class v e;
class b pp;
class m pp1;
class motor yy;
}

出错那里的m的类型是类,

由于没有重载<<所以出错了,

主要是是优先级的问题,

可以把 虚基类的m改下,或者把类m改下

具体可以看看我的附图