为什么输出是-1.07374e+008,求大神指教,zc输出是-1.07374e+008
#include <iostream>
#include <cmath>
using namespace std;
class A{
private:
float a,b,c;
public:
void Set(float x,float y,float z);
void Get(float &x,float &y,float &z);
float l(float x,float y,float z);
float s(float x,float y,float z);
void print(void);
float zc;
float mj;
};
void A::Set(float x,float y,float z)
{
a=x;
b=y;
c=z;
}
void A::Get(float &x,float&y,float &z)
{
x=a;
y=b;
z=c;
}
float A::l(float x,float y,float z)
{
zc=(x+y+z)/2;
return zc;
}
float A::s(float x,float y,float z)
{
mj=sqrt(zc*(zc-x)*(zc-y)*(zc-z));
return mj;
}
void A::print(float x,float y,float z)
{
cout<<"面积="<<mj<<endl;
}
int main()
{
A t;
float m,j,k;
float u,n,p;
cin>>m;
cin>>j;
cin>>k;
t.Set(m,j,k);
t.Get(u,n,p);
cout<<u<<" "<<n<<" "<<p;
cout<<t.zc<<endl;
return 0;
}
因为在创建A对象时没有初始化zc,也没有调用A::l(...)来为zc重新赋值。