鱼C论坛

 找回密码
 立即注册
查看: 2630|回复: 1

继承和派生的代码出现了一点问题。。。。

[复制链接]
发表于 2016-4-20 23:36:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
派生一个摩托车类时,在构造函数中写上motorcycle(float m, float w, float h, int s): bicycle(m, w, h),motorcar(m, w, s)//在此句后面加上float(w,m) 然后会报错
error C2614: 'motorcycle' : illegal member initialization: 'vehicle' is not a base or member
#include<iostream>
using namespace std;
class vehicle
{
public:
        vehicle(float w,float m)    //创建一个vehicle类
        {
                weight=w;
                maxspeed=m;
                cout<<"这辆车的最大速度为:"<<maxspeed<<endl;
                cout<<"这辆车的重量为:"<<weight<<endl;

        }
        run();
        stop();
private:float weight, maxspeed;
};
vehicle::run()                  //vehicle的成员函数
{
        cout<<"车已启动。。。。。。"<<endl;
}
vehicle::stop()                //vehicle的成员函数

{
        cout<<"车已停了!"<<endl;
}
class bicycle:public  vehicle  //创造一个单车类
{
public:
        bicycle(float w,float m,float h):vehicle(w,m)
        {
                height=h;
                cout<<"这辆车的高度为:"<<height<<endl;
        }
private:float height;
};

class motorcar:public  vehicle //创造一个汽车类
{
public:
        motorcar(float w,float m,int s):vehicle(w,m)
        {
                seatnum=s;
                cout<<"这辆车能载的人数为:"<<seatnum<<endl;
        }
private:int seatnum;
};

class motorcycle: public bicycle, public motorcar//创造一个摩托车类。。。
{
public:
motorcycle(float m, float w, float h, int s): bicycle(m, w, h),motorcar(m, w, s)//在此句后面加上float(w,m) 然后会报错
{ }
};

int main()
{   
        motorcar car(100,150,7);
        car.run();
        car.stop();
        bicycle cle(15,10,1.20);
        cle.run();
        cle.stop();
        motorcycle cycle(50,100,2,1);
       
        return 0;
}
这是我在写程序上遇到的问题,想问问这是什么原因。。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-4-21 09:38:17 | 显示全部楼层
卤煮,vehicle不是你的父类,你并不知道他跟你有关系,所以不能再motorcycle构造函数中初始化vehicle。

隔一层时透明的啊! 你继承谁就认识谁。你只需要关心你直接相关的上一层就可以了。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-1 02:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表