2015-05-04 15 views
-4

我們正在學習我的C++類中的類以及作業分配,我們必須創建一個可計算表面積和體積的球體類。我正在使用音量函數試圖讓它在計算後返回V的值。我正在閱讀谷歌周圍的一些內容,return聲明結束函數並返回後面寫的任何內容,但它並不適合我。我在這裏看不到什麼?Int Main(使用類)不返回計算的變量

#include <iostream> 
#include <cmath> 
#include <string> 

using namespace std; 


class sphere 
{ 
    private: 
     double r; 

    public: 
     double sarea(); 
     double volume(); 
     void Input(); 
     sphere(); 
     double GetRad(); 


}; 

double ReadPositiveDouble(string prompt) 
{ 
    double r=0.0; 
    double rad=0.0; 

    cout<<prompt<<endl; 
    cin>>r; 
    if(r>=0.0) 
    { 
     rad=r; 
    } 
    else 
    { 
     cerr<<"Cannot set radius to negative.\n"; 
    } 
    return r; 
} 

void sphere::Input() 
{ 
    double rad=0.0; 

    rad=ReadPositiveDouble("Radius?"); 
} 

double sphere::GetRad() 
{ 
    double rad=0.0; 

    return rad; 
} 

sphere::sphere() 
{ 
    double radius=0.0; 
} 

double sphere::sarea() 
{ 
    double rad=0.0; 

    return 4*M_PI*pow(rad, 2.0); 
} 


double sphere::volume() 
{ 
    double rad=0.0; 
    double V=0.0; 

    GetRad(); 
    V=(4*M_PI*pow(rad,3.0))/3; 

    return V; 
} 



int main() 
{ 

    double r=0.0; 


    sphere(red); 
    red.Input(); 

    //red.sarea(); 
    red.volume(); 




    system("Pause"); 

    return 0; 
} 
+1

您是否修復了這些錯誤信息?即_ _「class sphere聲明後缺少分號」_?實際上挖這個東西有什麼難的? –

+0

噢,我很抱歉,我是C++新手。我把它放在「球體」之後,它不起作用,所以我解開了它,看看有人能幫忙。 – heyheythere

+0

@heyheythere由於這種類型的問題是一個非常簡單的初學者問題,因此得到了很多問題的回答。因此,將錯誤複製/粘貼到谷歌並查看其他人是否遇到同樣的問題應該相對容易。搜索_semicolon之後在搜索_semicolon後丟失的前兩個google結果完全是你要求的...... – nonsensickle

回答

1

這是一個簡單的錯字 - class定義在最後必須有分號。

class sphere 
{ 
    ... 
}; 
^ this is required 
+2

我們應該有一個編譯器來傳遞編譯器錯誤消息,它解釋了這些編譯器錯誤消息的內容。不,等等... –

+0

感謝Greg!我是新來的這個東西! :/ – heyheythere

+0

@heyheythere:歡迎。請注意,編譯器已經試圖告訴你什麼是錯誤的,並且消息「class sphere聲明後缺少分號」。編譯器的錯誤信息有時會讓人誤解,但那是一個非常簡單的方法! –