帮忙看一下一个C++程序,不知道哪里出错了

#include<iostream>
using namespace std;
const double PI=3.14159;
template<typename T>class Circle
{
T radius;
static int total;
public:
Circle(T r=0)
{
radius=r;
total++;
}
void Set_Radius(T r)
{
radius=r;
}
double Get_Radius(T r)
{
return radius;
}
double Get_Girth()
{
return 2*PI*raduis;
}
double Get_Area()
{
return PI*radius*radius;
}
static int ShowTotal();
};
template<typename T>int Circle<T>::total=0;
template<typename T>
int Crcle<T>::ShowTotal()
{
return total;
}
int main()
{
Circle<int>A,B;
A.Set_Radius(16);
cout<<"A.Radius="<<A.Get_Radius()<<endl;
cout<<"A.Girth="<<A.Get_Girth()<<endl;
cout<<"A.Area="<<A.Get_Area()<<endl;
B.Set_Radius(105);
cout<<"B.Radius="<<B.Get_Radius<<endl;
cout<<"B.Girth="<<B.Get_Girth<<endl;
cout<<"B.Area="<<B.Get_Area()<<endl;
cout<<"Total1="<<Circle<int>::ShowTotal()<<endl;
cout<<endl;
Circle<double>X(6.23),Y(10.5),Z(25.6);
cout<<"X.Radius="<<X.Get_Radius()<<endl;
cout<<"X.Girth="<<X.Get_Girth()<<endl;
cout<<"X.Area="<<X.Get_Area()<<endl;
cout<<"Y.Radius="<<Y.Get_Radius()<<endl;
cout<<"Y.Girth="<<Y.Get_Girth()<<endl;
cout<<"Y.Area="<<Y.Get_Area()<<endl;
cout<<"Z.Radius="<<Z.Radius()<<endl;
cout<<"Z.Girth="<<Z.Girth()<<endl;
cout<<"Z.Area="<<Z.Get_Area()<<endl;
cout<<"Total2="<<Circle<double>::ShowTotal()<<endl;

}

有几个小错误,修改了一下:

#include<iostream>
using namespace std;
const double PI = 3.14159;

template<typename T>
class Circle
{
    T radius;
    static int total;
public:
    Circle(T r = 0)
    {
        radius = r;
        total++;
    }
    void Set_Radius(T r)
    {
        radius = r;
    }
    double Get_Radius()
    {
        return radius;
    }
    double Get_Girth()
    {
        return 2 * PI*radius;
    }
    double Get_Area()
    {
        return PI*radius*radius;
    }
    static int ShowTotal();
};

template<typename T>int Circle<T>::total = 0;
template<typename T>
int Circle<T>::ShowTotal()
{
    return total;
}

int main()
{
    Circle<int>A, B;
    A.Set_Radius(16);
    cout << "A.Radius=" << A.Get_Radius() << endl;
    cout << "A.Girth=" << A.Get_Girth() << endl;
    cout << "A.Area=" << A.Get_Area() << endl;
    B.Set_Radius(105);
    cout << "B.Radius=" << B.Get_Radius() << endl;
    cout << "B.Girth=" << B.Get_Girth() << endl;
    cout << "B.Area=" << B.Get_Area() << endl;
    cout << "Total1=" << Circle<int>::ShowTotal() << endl;
    cout << endl;
    Circle<double>X(6.23), Y(10.5), Z(25.6);
    cout << "X.Radius=" << X.Get_Radius() << endl;
    cout << "X.Girth=" << X.Get_Girth() << endl;
    cout << "X.Area=" << X.Get_Area() << endl;
    cout << "Y.Radius=" << Y.Get_Radius() << endl;
    cout << "Y.Girth=" << Y.Get_Girth() << endl;
    cout << "Y.Area=" << Y.Get_Area() << endl;
    cout << "Z.Radius=" << Z.Get_Radius() << endl;
    cout << "Z.Girth=" << Z.Get_Girth() << endl;
    cout << "Z.Area=" << Z.Get_Area() << endl;
    cout << "Total2=" << Circle<double>::ShowTotal() << endl;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-09-25

  

没这个函数! 请检查一下是不是名字写错了  

本回答被提问者采纳
相似回答