首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解释!解决方案

2012-10-16 
求解释!!![codeC/C++][/code]#includeiostreamusing namespace stdclass Ellipse{private:int a,bpub

求解释!!!
[code=C/C++][/code]
#include<iostream>
using namespace std;
class Ellipse
{
private:
int a,b;
public:
Ellipse()
{
a=0;
b=0;
};
int Area1(int,int)
{

return 3.14*a*b;
};
};
class Rectangle
{
private:
int x,y;
public:
Rectangle()
{
x=0;
y=0;
};
int Area2(int,int)
{

return x*y;
};
};
int main()
{
float f,i,j;
Ellipse m;
Rectangle n;
i=m.Area1(50,75);
  j=n.Area2(200,150);
f=2*i*250+(j-i)*0.5;
cout<<"总费用为:"<<f<<endl;
return 0;
}




为什么输出会是0.

[解决办法]
没有初始化类的成员变量。

C/C++ code
#include<iostream>using namespace std;class Ellipse{private:    int a,b;public:    Ellipse(int _a,int _b):a(_a),b(_b){        //使用构造函数对类的成员进行初始化    };    int Area1()            {        return 3.14*a*b;    };};class Rectangle{private:    int x,y;public:    Rectangle(int _x,int _y):x(_x),y(_y)    { //使用构造函数对类的成员进行初始化    };    int Area2()    {        return x*y;    };};int main(){    float f,i,j;    Ellipse m(50,75);    Rectangle n(200,150);    i=m.Area1();    j=n.Area2();    f=2*i*250+(j-i)*0.5;    cout<<"总费用为:"<<f<<endl;    return 0;}
[解决办法]
C/C++ code
int Area1(int,int)//函数定义的时候必须带上变量名,不然怎么用??声明可以不用{return 3.14*a*b;};
[解决办法]
应该放回float变量。

C/C++ code
#include<iostream>using namespace std;class Ellipse{private:    int a,b;public:    Ellipse(int _a,int _b):a(_a),b(_b){        //使用构造函数对类的成员进行初始化    };    float Area1()           //应该放回float变量    {        return 3.14*a*b;    };};class Rectangle{private:    int x,y;public:    Rectangle(int _x,int _y):x(_x),y(_y)    { //使用构造函数对类的成员进行初始化    };    int Area2()    {        return x*y;    };};int main(){    float f,i,j;    Ellipse m(50,75);    Rectangle n(200,150);    i=m.Area1();    j=n.Area2();    f=2*i*250+(j-i)*0.5;    cout<<"总费用为:"<<f<<endl;    return 0;} 

热点排行