| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1355 人关注过本帖
标题:[求助]多重继承的构造问题
只看楼主 加入收藏
janlun86
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-5-9
收藏
 问题点数:0 回复次数:19 
[求助]多重继承的构造问题

谁能帮我改错啊,实在不知道哪里错了...
#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()
{
}

[此贴子已经被作者于2006-5-19 11:17:06编辑过]

搜索更多相关主题的帖子: int vehicle Maxspeed 构造 public 
2006-05-18 18:15
janlun86
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-5-9
收藏
得分:0 
我自己感觉是Motorcycle类继承的问题,就是Motorcycle构造函数这出的问题,但不知道怎么改

天道酬勤,切忌浮躁
2006-05-18 18:50
freshman42
Rank: 1
等 级:新手上路
威 望:1
帖 子:94
专家分:0
注 册:2005-12-4
收藏
得分:0 
以下是引用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()
{
}


2006-05-18 21:26
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
Motorcycle(int H,int S,int W,int P):bicycle(H,S,W),motorcar(H,S,P),vehicle(H,S)

最后的初始化应该不要!

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-18 21:49
c120110
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-2-19
收藏
得分:0 

应该要吧!


2006-05-19 00:02
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
不应该要,在bicycle和motorcar的构造函数中已经执行了vehicle(H,S)

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-05-19 09:06
janlun86
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-5-9
收藏
得分:0 
以下是引用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的参数表列也看不明白...请高手指教


天道酬勤,切忌浮躁
2006-05-19 09:52
janlun86
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-5-9
收藏
得分:0 
如果按照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

天道酬勤,切忌浮躁
2006-05-19 09:58
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
晕,我试了下,非的要那个最后的初始化。但是不会象楼主说的那样,不能实例化啊?我可以

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-19 10:23
freshman42
Rank: 1
等 级:新手上路
威 望:1
帖 子:94
专家分:0
注 册:2005-12-4
收藏
得分:0 
以下是引用wfpb在2006-5-19 10:23:00的发言:
晕,我试了下,非的要那个最后的初始化。但是不会象楼主说的那样,不能实例化啊?我可以

要初始化,可以实例啊!!


2006-05-19 10:31
快速回复:[求助]多重继承的构造问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081603 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved