2016-03-21 19 views
-3

Bir dairenin alanını hesaplamak için bir boşluk işlevi yazmaya çalışıyorum. İşte benim kod şimdiye kadar var:Bir dairenin alanını hesaplamak için bir boşluk işlevi yapmaya çalışıyorum

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() 
{ 
} 

ben onu anlamaya olamaz, ama benim işlevinde benim .h dan özel const veri üyesi pi erişmeye çalışıyorum ve buna izin vermez. Geçen gün çalışmayı denediğimde çalıştım ve şimdi buna izin vermeyecek. Herhangi bir yardım harika olurdu.

+0

Aldığınız sorunu dahil etmelisiniz, ancak bunun sebebi, (r * r) 'nin pi ile çarpmamanızdır:' pi * (r * r) ' –

+0

Belki 'pi * r * r '? Bir işlevmiş gibi "pi" demeye çalışıyorsun. –

+0

bana pi'nin tanımsız olduğunu söyler. Const değişkeni yapıcıya koymam gerekir mi? – AyeLetsGetCoding

cevap

-1

bu deneyin: Eğer C++ içinde Alan formülünü ifade etmek için bir el yazısı gösterimi kullanılarak

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

. C++ 'da pi (r * r), pi işlevine bir işlev çağrısı anlamına gelir.

+0

Makrolar genellikle büyük harflerle değil, sabit olarak tanımlanır. – milleniumbug

+1

Ve OP'nin istediği gibi görünüyor olsa da, bu tamamen işe yaramaz bir işlev. Dönüşte derhal imha edilen yerel bir değişkendeki alanı hesaplar. Bölgeyi iade etmeyen veya en azından bir sınıf üyesinde saklayan bir 'Alan 'işlevi düşünemiyorum. –

+0

@Carey Gregory haklısın, daha az kullan ama istediği buydu. –

İlgili konular