标题:帮我优化一下!
取消只看楼主
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
结帖率:100%
 问题点数:0 回复次数:2 
帮我优化一下!
#include <iostream>
using namespace std;
int temp;
class CFT
{
private:
    double length;
    double width;
    double height;
    double S;
   
public:

    void set_value();
    void show_value();
   
};


void CFT::set_value()
{
    cout<<"please enter numbers for"<<" "<<temp<<":"<<endl;
    cout<<"length:";
    cin>>length;
    cout<<endl;
    cout<<"width:";
    cin>>width;
    cout<<endl;
    cout<<"height:";
    cin>>height;
    cout<<endl;
}
void CFT::show_value()
{
    S=length*width*height;
        cout<<"第"<<temp<<"个长方体的面积为:"<<S<<endl;
}

int main()
{
    CFT a;
    int n;
    cout<<"请输入你需要计算长方体的个数:";
    cin>>n;
    for(int i=0;i<n;i++)
    {
        temp=i+1;
        a.set_value();
        a.show_value();
      
    }
    return 0;
}


这里使用了两个函数:
void set_value();
void show_value();
分别来初始化长方体的各项数值,和计算长方体的体积。

大家可以看到,当要求的长方体不止一个的时候,使用for循环多次的调用void show_value()函数,这使用了很大的内存开销!

大家能不能帮我优化一下,不使用for循环来调用函数,而只在函数中调用n,也就将所要求的长方体的个数传给void show_value()函数

直接在void show_value()函数中多次计算,一次调用就可以求n个长方体的体积!
搜索更多相关主题的帖子: C++ 
2008-11-20 22:19
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
得分:0 
感谢2楼!!!
2008-11-21 18:24
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
得分:0 
还要请教一下,为什么要设置temp为static变量:如程序所示: static int temp;   

程序中有 int CFT::temp=0;

使用这种赋值方式的变量,必须是static的吗?(我试过了如果不是static会出错!)
2008-11-21 18:37



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




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

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