请大家帮帮小弟啊该怎么处理

请大家帮帮小弟啊~~
#include<iostream>  
#include<cmath>
using namespace std;
class Trig
{
  public:
Trig(int i, int j, int k)
{x=i;y=j;z=k;}

int isTriangle()
{ if(x+y>z && x+z>y && y+z>x) return 1;
else return 0; }

friend double realArea(Trig &t) // 这里可去掉&,为什么最好要写上呢?
{return t.area();}  
  private:
double x, y, z;
double area()
{
double d=(x+y+z)/2;
d=sqrt(d*(d-x)*(d-y)*(d-z));
return d; }
};

int main()
{
  int a,b,c;
  cout<<"输入三角形的边长: "; cin>>a>>b>>c;
  Trig t1(a,b,c);
  if(t1.isTriangle())
  cout<<"它的面积为: "<<realArea(t1)<<endl;
  else cout<<"这不是一个三角形.\n";
  return 0; }


------解决方案--------------------
引用传递参数可以避免不必要的拷贝(很多类的拷贝比较费时),但是使用引用可能带来副作用(被函数改变值),所以常引用是很好的选择