nicht zurückgeben Ich mache ein Klasse geerbtes Programm in C++. Seine Funktion besteht darin, jedesmal, wenn ein Dreieck stimmt, zu bestimmen und seine Fläche zu berechnen. HierKann Ergebnis von int Funktion
ist das Programm:
#include <iostream>
using namespace std;
class Puncte
{
public:
int x1,y1;
int x2,y2;
int x3,y3;
Puncte(int a, int b, int c, int d, int e, int f):x1(a),y1(b),x2(c),y2(d),x3(e),y3(f){}
void AfisareP()
{
cout<<x1<<y1<<x2<<y2<<x3<<y3<<endl;
}
};
class Latura
{
protected:
int l1, l2, l3;
public:
void LatimeaL(int a, int b, int c)
{
l1 = a;
l2 = b;
l3 = c;
}
};
class Triunghi: public Latura
{
public:
int AriaTrDr()
{
return l1*l3/2;
}
};
int main()
{
Puncte p(2,2,2,2,2,2);
Latura l;
l.LatimeaL(1,2,4);
Triunghi t;
if (p.x1 == p.x3 && p.y1 == p.y2)
{
cout << "Triunghi dreptunghic!" << endl;
cout << t.AriaTrDr() << endl;
}
return (0);
}
Everthing arbeitet gut, aber es funktioniert nicht das richtige Ergebnis zeigen, aber die Adresse und ich weiß nicht, wie es zu beheben.
Dies ist das Ergebnis.
Triunghi dreptunghic!
513242112
In der Klasse 'Latura' werden die' int' Member nach der Initialisierung mit * unbestimmten Werten * belassen. –
Von dem, was ich sehen kann, sind 'Latura l;' und nachfolgende 'l.LatimeaL (1,2,4);' sinnlos in 'main()'. Das sollte entfernt werden und 't.Latimeal (1,2,4);' sollte der Erklärung von 't folgen. – WhozCraig
Es sieht so aus, als ob Sie denken, dass die Objekte 'p',' l' und 't' in irgendeiner Weise verbunden sind. Sie sind drei völlig unabhängige Objekte. – molbdnilo