我无法在代码中找到问题所在。也不是互联网上的解决方案。我可以看到我可以用不同的方式创建代码,但我需要知道如何使用它编写如下:
class Triunghi{
int l1=0;//latura1
int l2=0;//latura2
int ba=0;//baza
int p=0;//perimetru
public:
Triunghi(){}
Triunghi(int a):l1(a){}
Triunghi(int a,int b):l1(a),l2(b){}
Triunghi(int a,int b,int c):l1(a),l2(b),ba(c){}
Triunghi(int a,int b,int c,char *msg):l1(a),l2(b),ba(c){
cout<<msg<<""<<l1<<l2<<ba<<endl;
}
Triunghi(Triunghi &A){
l1=A.l1;
l2=A.l2;
ba=A.ba;
}
~Triunghi(){
}
int Perimetru()
{
p=l1+l2+ba;
return (p);
}
};
它工作正常没有错误但我似乎无法给l1,l2和ba赋值,在函数'Perimetru'中使用它们。 这就是我的主要外观。
int main()
{
Triunghi tri;
Triunghi(1,2,3);
tri.Perimetru();
return 0;
}
如何让它发挥作用?
答案 0 :(得分:0)
Triunghi tri;
Triunghi(1,2,3);
这不符合你的想法。 tri
是使用默认构造函数创建的,因此所有成员都使用其类内默认值进行设置,这意味着0
。然后,您创建临时对象Triunghi
,您甚至不使用它。你可能想要做的是:
Triunghi tri(1,2,3);
然后Perimetru()
按预期返回6
。