Ich erstelle eine Klasse mit dem Namen Geometry
, um die Fläche eines Kreises, Rechtecks oder Dreiecks basierend auf der Anzahl der dem Konstruktor bereitgestellten Parameter zu berechnen. Die Konstruktoren akzeptieren jeweils 1, 2 und 3 Parameter.Berechnen der Fläche von 2D-Formen
#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
class Geometry
{
private:
int a,b,c,d,e,r;
float pi=3.14;
public:
void input()
{
cout<<"Enter the value of a,b,c,d,r";
cin>>a;
cin>>b;
cin>>c;
cin>>d;
cin>>e;
cin>>r;
}
void calculate();
void display();
Geometry (int);
Geometry (int,int);
Geometry (int,int,int);
};
Geometry :: Geometry(int p)
{
p=r;
float pi=3.14;
}
Geometry :: Geometry (int x,int y)
{
x=a,y=b;
}
Geometry :: Geometry (int f,int g,int h)
{
f=c,g=d,h=e;
}
void calculate()
{
int a,b,c,d,e,r;
float s;
s=(c+d+e)/2;
float areat,areac,arear;
areat=sqrt(s*(s-c)*(s-d)*(s-e));
arear=(a*b);
areac=(3.14*r*r);
}
void display()
{
float areac,areat,arear;
cout<<"area of circle is:"<<areac;
cout<<"area of rectangle is:"<<arear;
cout<<"area of triangle is:"<<areat;
}
int main()
{
Geometry z;
z.calculate();
z.display();
getch();
}
Die Fehler Ich erhalte sind:
keine Anpassungsfunktion für den Anruf Geometry :: Geometry() in Zeile 59
und
bereitgestelltKandidaten erwartet 2 Argumente o in Zeile 33
Was bedeuten diese und wie kann ich diese Fehler beheben?