2016-04-14 19 views
-2

コンストラクタに渡されるパラメータの数に基づいて、円、矩形、または三角形の面積を計算するために、Geometryというクラスを作成します。コンストラクタはそれぞれ1、2、3パラメータを受け入れます。2次元形状の面積を計算する

#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(); 
    } 

私が受けてるのエラーは、次のとおりです。

コールジオメトリに該当する機能::ジオメトリ()ライン59

期待

候補で2つの議論o 33行目に記載

これらのエラーは何を意味し、どうすればこれらのエラーを解決できますか?

答えて

0

あなたの質問に答えるには、定義したコンストラクタを見て、あなたのクラスの呼び出し方法を見てください。 0引数を取るコンストラクタは指定していません。あなたは、コンストラクタの問題を終了したら、エラーになってしまう

いくつかのこと:

の方法は、彼らが属するクラスを知る必要があるとしています。

void Geometry::calculate(){...} 
void Geometry::display(){...} 

また(ちょうど気難しである)は、おそらく一定で変化していないすべての変数、すなわち

float pi = 3.14 

はconstのあるべきすべきです。私はgetch()がconio.hで定義されるべきだと思う

:それはC++プログラムとstdio.hはC.

EDITありますよう

また、私はあなたが#include <stdio.h>を必要としないと思います。だからそこにインクルードする(またはsleep()のようなものを使う)、楽しいプログラミングをする。

エラーメッセージは、プログラミングしたコンストラクタが2つまたは3つの引数を取るが、Geometryクラスを初期化したときにmain関数に何も指定しなかったというエラーメッセージが表示されます。

Geometry z; // Uses constructor Geometry(); which doesn't exist 
Geometry z(5); // Uses constructor Geometry(int p); 
Geometry z(5, 6); // Uses constructor Geometry(int x, int y); 
Geometry z(5, 6, 7); // Uses constructor Geometry(int f, int g, int h); 
関連する問題