设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 598|回复: 9
打印 上一主题 下一主题

[求助]多重继承的构造问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 02:09:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁能帮我改错啊,实在不知道哪里错了...
#include<iostream.h>
class vehicle
{
public:
int Maxspeed;
int Weight;
vehicle(int M,int W)
{
Maxspeed=M;
Weight=W;
} ;
void run(){cout<<"running"<<endl;};
void stop(){cout<<"stopping"<<endl;};
};
class bicycle:virtual public vehicle
{
public:
int Height;
bicycle(int M,int W,int H):vehicle(M,W)
{
Height=H;
};
};
class motorcar:virtual public vehicle
{
public:
int seatnum;
motorcar(int M,int W,int S):vehicle(M,W)
{
seatnum=S;
};
};
class Motorcycle:public bicycle,public motorcar
{
public:
Motorcycle(int H,int S):bicycly(H),mortorcar(S)
{
};
void show()
{
cout<<Maxspeed<<Weight<<Height<<seatnum;
};
};
void main()
{
}
2#
发表于 2009-11-3 02:09:13 | 只看该作者
我自己感觉是Motorcycle类继承的问题,就是Motorcycle构造函数这出的问题,但不知道怎么改
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 02:09:15 | 只看该作者
以下是引用janlun86在2006-5-18 18:15:00的发言:

谁能帮我改错啊,实在不知道哪里错了...
#include<iostream.h>
class vehicle
{
public:
int Maxspeed;
int Weight;
vehicle(int M,int W)
{
Maxspeed=M;
Weight=W;
} ;
void run(){cout<<"running"<<endl;};
void stop(){cout<<"stopping"<<endl;};
};
class bicycle:virtual public vehicle
{
public:
int Height;
bicycle(int M,int W,int H):vehicle(M,W)
{
Height=H;
};
};
class motorcar:virtual public vehicle
{
public:
int seatnum;
motorcar(int M,int W,int S):vehicle(M,W)
{
seatnum=S;
};
};
class Motorcycle:public bicycle,public motorcar
{
public:
Motorcycle(int H,int S,int W,int P):bicycle(H,S,W),motorcar(H,S,P),vehicle(H,S)
{
};
void show()
{
cout<<Maxspeed<<Weight<<Height<<seatnum;
};
};
void main()
{
}
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 02:09:17 | 只看该作者
Motorcycle(int H,int S,int W,int P):bicycle(H,S,W),motorcar(H,S,P),vehicle(H,S)

最后的初始化应该不要!
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 02:09:18 | 只看该作者
应该要吧!
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 02:09:20 | 只看该作者
不应该要,在bicycle和motorcar的构造函数中已经执行了vehicle(H,S)
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 02:09:21 | 只看该作者
以下是引用freshman42在2006-5-18 21:26:00的发言:


Motorcycle(int H,int S,int W,int P):bicycle(H,S,W),motorcar(H,S,P),vehicle(H,S)
{
};
这个我不太理解,p是什么?bicycle参数表列怎么会有W,还有motorcar,vehicle的参数表列也看不明白...请高手指教
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 02:09:22 | 只看该作者
如果按照Motorcycle(int H,int S,int W,int P):bicycle(H,S,W),motorcar(H,S,P),vehicle(H,S)
{
};
这种改法,在主函数里实例化一个对像就会出现报错error C2512: 'Motorcycle' : no appropriate default constructor available
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 02:09:24 | 只看该作者
晕,我试了下,非的要那个最后的初始化。但是不会象楼主说的那样,不能实例化啊?我可以
回复 支持 反对

使用道具 举报

10#
发表于 2009-11-3 02:09:25 | 只看该作者
以下是引用wfpb在2006-5-19 10:23:00的发言:
晕,我试了下,非的要那个最后的初始化。但是不会象楼主说的那样,不能实例化啊?我可以
要初始化,可以实例啊!!
回复 支持 反对

使用道具 举报

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

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 04:45 , Processed in 0.072447 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

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