2016-03-21 8 views
-3

円の面積を計算するvoid関数を作成しようとしています。ここに私のコードは、これまでのところです:円の面積を計算するためにvoid関数を実行しようとしています

Circle::Circle() 
{ 
} 
Circle::Circle(double r):Shape(){ 
    SetRadius(r); 
} 
double Circle::GetRadius(void) const{ 
    return radius; 
} 
void Circle::SetRadius(double r){ 
    this->radius = r; 
} 
void Area(double r){ 
    double area = pi(r*r); 
} 

Circle::~Circle() 
{ 
} 

私はそれを把握することはできませんが、私は私の関数の中で私の.hから民間のconstデータメンバのパイにアクセスしようとしていると、それはそれを許可しません。私はそれを開始しようとしたとき、先日働いていたし、今それは許可されません。どんな助けも素晴らしいだろう。

+0

あなたが取得している問題をインクルードする必要がありますが、その理由はあなたが(r * r)にpiを掛けていないということです: 'pi *(r * r)' –

+0

'pi * '?あなたは関数であるかのように 'pi'を呼び出しようとしています。 –

+0

それはpiが未定義であると私に伝えます。コンストラクタにconst変数を入れる必要がありますか? – AyeLetsGetCoding

答えて

-1

これを試してください:あなたは、C++でのエリア数式を表現するために手書きの表記法を使用して

void Area(double r){ 
    double area = pi*(r*r); 
} 

。 C++のpi(r * r)は、pi関数への関数呼び出しを表します。

+0

マクロは通常、定数ではなく大文字で定義されます。 – milleniumbug

+1

そして、これはOPが求めているようですが、それはまったく役に立たない機能です。これは、返されたときに即座に破棄されるローカル変数内の領域を計算します。領域を返さない、または少なくともそれをクラスメンバに格納する 'Area'関数を想像することはできません。 –

+0

@Carey Gregoryあなたは正しいです、それはそれほど使いませんが、それはそれが求められるものです。 –

関連する問題