注册 登录
编程论坛 C++教室

求修改,自从从c语言转至学习c++之后就没有正确运行过。。。

JanusL 发布于 2016-04-26 09:27, 3747 次点击
#include "iostream"
using namespace std;
class vehicle
{
protected:
    float MaxSpeed;
    float Weight;
public:
    vehicle(float ms,float w)
    {MaxSpeed=ms;
    Weight=w;
    }
    void Run()
    {cout<<MaxSpeed<<endl;}
    Stop();
    void showdata()
    {cout<<MaxSpeed<<Weight<<endl;}
};
class bicycle:virtual public vehicle
{
protected:
    float Height;
public:
    bicycle(float ms,float w,float h):vehicle(ms,w)
    {Height=h;}
};
class car:virtual public vehicle
{
protected:
    int SeatNum;
public:
    car(float ms,float w,int s):vehicle(ms,w)
    {SeatNum=s;}
};
class motocycle:public bicycle,public car
{
protected:
    int YtNum;
public:
    motocycle(float h,int s,float ms,float w,int y):bicycle(h),car(s),vehicle(ms,w)
    {YtNum=y;}
};
int main()
{
    motocycle m(500,300,20,35,2);
    return 0;
}
5 回复
#2
JanusL2016-04-26 09:29
定义一个交通工具类,派生出自行车类和汽车类,再由自行车类和汽车类派生出摩托车类。把交通工具类设置为虚基类。
#3
仰望星空的2016-04-26 16:56
摩托车类到底是属于汽车还是自行车啊?
#4
JanusL2016-04-27 19:57
回复 3楼 仰望星空的
由汽车和自行车共同派生出来。
#5
JanusL2016-04-28 20:07
有没有人帮忙看一看,万分感谢。
#6
rjsp2016-04-29 09:05
以下是引用JanusL在2016-4-28 20:07:36的发言:

有没有人帮忙看一看,万分感谢。
你不肯说清楚要求,别人怎么帮你?

根据你的需求“定义一个交通工具类,派生出自行车类和汽车类,再由自行车类和汽车类派生出摩托车类。把交通工具类设置为虚基类。”,就应该只有如下代码
程序代码:
struct vehicle
{
};

struct bicycle : virtual vehicle
{
};

struct car : virtual vehicle
{
};

struct motocycle : bicycle, car
{
};

int main( void )
{
}

1