注册 登录
编程论坛 C++教室

可以在main函数中调用类中的变量么?

木头lbj 发布于 2010-12-16 15:21, 814 次点击
#include <iostream>
using namespace std;
const int invest = 100;

class Daphne
{
private:
    int year1;
    float arrural1;
public:
    float benifit1;
    int sum1()
    {
        arrural1 = invest * 0.1;
        benifit1 = invest;
        for (year1 = 1; year1 < 100 ; year1 ++)
        {
            benifit1 += arrural1;
            cout << "The " << year1 << " year,Daphne's benifit is: " << benifit1 << endl;
        }
        return benifit1;
    }
};

class Cleo
{
private:
    int year2;
    float arrural2;
    float total;
public:
    float benifit2;
    int sum2()
    {
        benifit2 = invest;
        total = benifit2;
        for (year2 = 1; year2 < 100 ; year2 ++)
        {
            arrural2 = total * 0.05;
            total = benifit2 + arrural2;
            benifit2 += arrural2;
            cout << "The " << year2 << " year,Cleo's benifit is:\t " << benifit2 << endl;
        }
        return benifit2;
    }
};


int main()
{
    Daphne s1;
    Cleo s2;
    s1.sum1();
    s2.sum2();
   
    return 0;
}
程序的目的是想要输出什么时候Cleo的钱超过Daphne的。我想用类来实现。但是不知道在主函数中写判断Cleo超过Daphne时的语句。哪位大侠来指导下啊。。。
2 回复
#2
zhangyasong2010-12-16 15:53
#include <iostream>
using namespace std;
const int invest = 100;

class Daphne
{
private:
    int year1;
    float arrural1;
public:
    float benifit1;
    int sum1(int n)
    {
        arrural1 = invest * 0.1;
        benifit1 = invest;
        for (year1 = 1; year1 < n ; year1 ++)
        {
            benifit1 += arrural1;
            cout << "The " << year1 << " year,Daphne's benifit is: " << benifit1 << endl;
        }
        return benifit1;
    }
};

class Cleo
{
private:
    int year2;
    float arrural2;
    float total;
public:
    float benifit2;
    int sum2(int n)
    {
        benifit2 = invest;
        total = benifit2;
       for (year2 = 1; year2 < n ; year2 ++)
        {
            arrural2 = total * 0.05;
            total = benifit2 + arrural2;
            benifit2 += arrural2;
            cout << "The " << year2 << " year,Cleo's benifit is:\t " << benifit2 << endl;
        }
        return benifit2;
    }
};


int main()
{
    Daphne s1;
    Cleo s2;
    for(int i=2;i<100;++i)
{
    if(s1.sum1(i)<s2.sum2(i))
{
    cout<<"在第"<<i<<"年,Cleo的钱超过了Daphne的钱"<<endl;
    break;
}
}
   
    return 0;
}

随便改了下,主要是传了个表示年限的参数进去,不知道可不可以解决你的问题
#3
木头lbj2010-12-16 16:41
回复 2楼 zhangyasong
恩恩   可以解决。。。。谢谢啊。能向你请教这样做的原因么?我一时还弄不太懂
1