标题:大家帮忙看下这段代码算不算用了类的思想呢
只看楼主
onlyzm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-20
结帖率:100%
 问题点数:0 回复次数:7 
大家帮忙看下这段代码算不算用了类的思想呢
#include<iostream.h>
class CPetrol
{
private:
    double price,gross,quantity;
public:
    void Setinfo(double p,double g)
    {
        double sum;
        quantity=0;
        price=p;
        gross=g;
        sum=price*gross;
        quantity+=sum;
    }
    void display( )
    {
        cout<<"今天总收入为"<<quantity<<endl;
        
        
    }
};
void main()
{
    CPetrol gas;
    int j,a,b,c;
    char k;
    k='y';
    for(;k=='y';)
    {
        cout<<"请选择汽油品种:"<<endl;
        cout<<"1.  90号汽油"<<endl;
        cout<<"2.  93号汽油"<<endl;
        cout<<"3.  98号汽油"<<endl;
        cout<<"4.  显示今天的总收入"<<endl;
        cin>>j;
        switch(j)
        {
        case 1:
            {
                cout<<"输入90号汽油今天的加油量:"<<endl;
                cin>>a;
                gas.Setinfo(3.96,a);
            };break;
        case 2:
            {
                cout<<"输入93号汽油今天的加油量:"<<endl;
                cin>>b;
                gas.Setinfo(4.05,b);
            };break;
        case 3:
            {
                cout<<"输入90号汽油今天的加油量:"<<endl;
                cin>>c;
                gas.Setinfo(4.38,c);
            };break;
        case 4:    gas.display( );
        }
        cout<<"要继续吗<y/n>"<<endl;
        cin>>k;
    }
   
}
搜索更多相关主题的帖子: void quantity private display 
2013-03-31 20:15
onlyzm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-20
得分:0 
帮忙顶啊,大神求指教啊,刚刚学c++有点闹不清这些思想
2013-03-31 20:19
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
面向过程的伪面向对象

不是说,把以前C里面的函数,用个类包一下就算面向对象了...


[ 本帖最后由 peach5460 于 2013-3-31 21:12 编辑 ]

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-31 21:09
wl1259472421
Rank: 1
来 自:南京
等 级:新手上路
帖 子:16
专家分:3
注 册:2013-3-18
得分:0 
你只是用刀了类的定义,但绝不是类的思想。面向对象的最大好处就是代码重用和数据的保护。

爱好编程,想让电脑按照我的想法执行指令!
2013-03-31 21:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
不算

授人以渔,不授人以鱼。
2013-03-31 22:04
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
妈的,我的codelite崩溃了,搞了一个多小时了...整不好了
要不然我给你写一个

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-31 22:33
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
得分:0 
咋没分哦

无节操,无真相
2013-03-31 22:41
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
程序代码:
#include<iostream>
using namespace std;

class IPetrol
{
public:
    IPetrol() {}
    virtual ~IPetrol() {}

    virtual double setinfo(double g) = 0;

protected:
    double price;
};

class CPetrol90 : public IPetrol
{
public:
    CPetrol90() { price = 3.96; };
    virtual ~CPetrol90() {}

    double setinfo(double g) { return g * price; }
};

class CPetrol93 : public IPetrol
{
public:
    CPetrol93() { price = 4.05; };
    virtual ~CPetrol93() {}

    double setinfo(double g) { return g * price; }
};

class CPetrol98 : public IPetrol
{
public:
    CPetrol98() { price = 4.38; };
    virtual ~CPetrol98() {}

    double setinfo(double g) { return g * price; }
};

int main()
{
    int j,a,b,c;
    char k;
    k='y';
    double sum = 0.0f;
    for(;k=='y';)
    {
        cout<<"请选择汽油品种:"<<endl;
        cout<<"1.  90号汽油"<<endl;
        cout<<"2.  93号汽油"<<endl;
        cout<<"3.  98号汽油"<<endl;
        cout<<"4.  显示今天的总收入"<<endl;
        cin>>j;
        switch(j)
        {
        case 1:
            {
                cout<<"输入90号汽油今天的加油量:"<<endl;
                cin>>a;
                CPetrol90 gas;
                sum += gas.setinfo(a);
            };break;
        case 2:
            {
                cout<<"输入93号汽油今天的加油量:"<<endl;
                cin>>b;
                CPetrol93 gas;
                sum += gas.setinfo(b);
            };break;
        case 3:
            {
                cout<<"输入98号汽油今天的加油量:"<<endl;
                cin>>c;
                CPetrol98 gas;
                sum += gas.setinfo(c);
            };break;
        case 4:    cout << "今天总油" << sum << endl;
        }
        cout<<"要继续吗<y/n>"<<endl;
        cin>>k;
    }
}


差不多是这个样子...
抛砖引玉,还有很多可改的地方

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-01 19:58



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




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

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