标题:基类和派生类的一道题,帮我看一下错在哪里?
只看楼主
简Greensoul
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-11-13
结帖率:80%
已结贴  问题点数:10 回复次数:8 
基类和派生类的一道题,帮我看一下错在哪里?
#include<iostream>
#include<cstring>
using namespace std;
class Vehicle                        //汽车类定义
{
private:
    int Speed;
    int Weight;
public:
    Vehicle(int speed,int weight)
    {
        Speed=speed;
        Weight=weight;
        cout<<"Vehicle类的构造函数被调用"<<endl;
    }
    ~Vehicle()
    {
        cout<<"Vehicle类的析构函数被调用"<<endl;
    }
    void Display()
    {
        cout<<"最大速度:"<<Speed<<"km/h"<<'\t'<<"车的重量:"<<Weight<<"kilo"<<'\t'<<endl;
    }
    int GetSpeed()
    {
        return Speed;
    }
    int GetWeight()
    {
        return Weight;
    }
};
class Truck:public Vehicle           //卡车类定义(公有继承)
{
private:
    int Load;
public:
    Truck(int load,int speed,int weight):Vehicle(speed,weight)
    {
        Load=load;
        cout<<"Truck类的构造函数被调用"<<endl;
    }
    ~Truck()
    {
        cout<<"Truck类的析构函数被调用"<<endl;
    }
    void DisplayTruc()
    {
        cout<<"载重:"<<Load<<"kilo"<<'\t';
        Display();
    }
    int GetLoad()
    {
        return Load;
    }
    double ratio()
    {
        double ratio;
        int load,weight;
        load=GetLoad();
        weight=GetWeight();
        ratio=load/(load+weight);
        return(ratio);
    }
};
int main()
{
    Truck truck1(500,160,500);
    truck1.DisplayTruc();
    cout<<"卡车的载重效率="<<truck1.ratio()<<endl;
    return 0;
}

请问输出载重效率的错在哪了?
搜索更多相关主题的帖子: class public include private 汽车 
2011-12-16 16:45
kangzong99
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-12-14
得分:0 
新手路过
2011-12-16 17:23
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
得分:0 
ratio=load/(load+weight);
这块有问题

愿用余生致力编程
2011-12-16 17:42
简Greensoul
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-11-13
得分:0 
回复 3楼 我菜119
请问该怎么改?
2011-12-16 17:46
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
得分:0 
回复 4楼 简Greensoul
怎么改??其实我也不知道,不知道你信不信,反正我是信了!

愿用余生致力编程
2011-12-16 17:49
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
得分:10 
这是C语言问题,和类继承无关。整数除整数按整除算,小的除大的永远是0.
ratio=(double)load/(load+weight);
2011-12-16 22:29
简Greensoul
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-11-13
得分:0 
回复 6楼 CrystalFan
明白了,谢谢!
2011-12-17 14:59
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
得分:0 

愿用余生致力编程
2011-12-17 17:37
iseelove
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-12-18
得分:0 
C/C++交流进群 76406740
一起交流,学习
2011-12-18 10:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-357922-1-1.html




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

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